]> Dogcows Code - chaz/openbox/commitdiff
when a window becomes transient for its group, it needs to have group transients...
authorDana Jansens <danakj@orodu.net>
Mon, 7 May 2007 17:07:35 +0000 (17:07 +0000)
committerDana Jansens <danakj@orodu.net>
Mon, 7 May 2007 17:07:35 +0000 (17:07 +0000)
openbox/client.c

index 3b66a836f629d17b8903fa0546e68ee639b8bcda..47bfcabcb5ff6a547f2e7287fe124d47ca68ec5c 100644 (file)
@@ -1254,11 +1254,13 @@ static void client_update_transient_tree(ObClient *self,
     }
             
 
-    /* If the group changed then we need to remove any old group transient
-       windows from our children. But if we're transient for the group, then
+    /* If the group changed, or if we are just becoming transient for the
+       group, then we need to remove any old group transient windows
+       from our children. But if we were already transient for the group, then
        other group transients are not our children. */
-    if (oldgroup != newgroup && oldgroup != NULL &&
-        oldparent != OB_TRAN_GROUP)
+    if ((oldgroup != newgroup ||
+         (newparent == OB_TRAN_GROUP && oldparent != newparent)) &&
+        oldgroup != NULL && oldparent != OB_TRAN_GROUP)
     {
         for (it = self->transients; it; it = next) {
             next = g_slist_next(it);
This page took 0.024197 seconds and 4 git commands to generate.