summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openbox/client.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/openbox/client.c b/openbox/client.c
index 2f1c9c7b..163dfde4 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -1260,12 +1260,9 @@ static void client_update_transient_tree(ObClient *self,
newparent != NULL && newparent != OB_TRAN_GROUP &&
newgroup != NULL && newgroup == oldgroup && client_normal(newparent))
{
- ObClient *look = newparent;
- do {
- self->transients = g_slist_remove(self->transients, look);
- look->parents = g_slist_remove(look->parents, self);
- look = look->transient_for;
- } while (look != NULL && look != OB_TRAN_GROUP && client_normal(look));
+ ObClient *look = client_search_top_direct_parent(newparent);
+ self->transients = g_slist_remove(self->transients, look);
+ look->parents = g_slist_remove(look->parents, self);
}