X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient.c;h=52f86e121f788a21ee0c6068f91151ef5b6baee0;hb=a79e51c64fdfa1ffd303a5a96c6ae9e393b1353a;hp=163dfde4856ab955ecc9f0b0591cfeee4a55d92f;hpb=428880d75ad74b6a1b964385f85984b493daa657;p=chaz%2Fopenbox diff --git a/openbox/client.c b/openbox/client.c index 163dfde4..52f86e12 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -1293,8 +1293,7 @@ static void client_update_transient_tree(ObClient *self, for (it = self->parents; it; it = next) { next = g_slist_next(it); c = it->data; - if ((!c->transient_for || c->transient_for != OB_TRAN_GROUP) && - client_normal(c)) + if (c->transient_for != OB_TRAN_GROUP && client_normal(c)) { c->transients = g_slist_remove(c->transients, self); self->parents = g_slist_delete_link(self->parents, it); @@ -1320,9 +1319,7 @@ static void client_update_transient_tree(ObClient *self, for (it = oldgroup->members; it; it = g_slist_next(it)) { c = it->data; if (c != self && - (!c->transient_for || - c->transient_for != OB_TRAN_GROUP) && - client_normal(c)) + c->transient_for != OB_TRAN_GROUP && client_normal(c)) { c->transients = g_slist_prepend(c->transients, self); self->parents = g_slist_prepend(self->parents, c); @@ -1356,14 +1353,14 @@ static void client_update_transient_tree(ObClient *self, A can't be transient for C or we have a cycle */ if (oldgroup != newgroup && newgroup != NULL && - newparent != OB_TRAN_GROUP) + newparent != OB_TRAN_GROUP && + client_normal(self)) { for (it = newgroup->members; it; it = g_slist_next(it)) { c = it->data; if (c != self && c->transient_for == OB_TRAN_GROUP && /* Don't make it our child if it is already our parent */ - !client_is_direct_child(c, self) && - client_normal(self)) + !client_is_direct_child(c, self)) { self->transients = g_slist_prepend(self->transients, c); c->parents = g_slist_prepend(c->parents, self); @@ -1848,7 +1845,7 @@ void client_update_wmhints(ObClient *self) transient for something, even if transient_for was NULL because it wasn't in a group before. - If transient_for was NULL and oldgroup was NULL we can assume + If parents was NULL and oldgroup was NULL we can assume that when we add the new group, it will become transient for something. @@ -1860,7 +1857,7 @@ void client_update_wmhints(ObClient *self) updated. */ if (self->transient && - ((self->transient_for == NULL && oldgroup == NULL) || + ((self->parents == NULL && oldgroup == NULL) || (self->transient_for == OB_TRAN_GROUP && !self->group))) client_update_transient_for(self); }