summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
Diffstat (limited to 'openbox')
-rw-r--r--openbox/client.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/openbox/client.c b/openbox/client.c
index 4f71c7fb..84f739ac 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -1134,7 +1134,8 @@ void client_update_transient_for(ObClient *self)
/* remove from old parents */
for (it = self->group->members; it; it = g_slist_next(it)) {
ObClient *c = it->data;
- if (c != self && !c->transient_for)
+ if (c != self && (!c->transient_for ||
+ c->transient_for != OB_TRAN_GROUP))
c->transients = g_slist_remove(c->transients, self);
}
} else if (self->transient_for != NULL) { /* transient of window */
@@ -1149,7 +1150,8 @@ void client_update_transient_for(ObClient *self)
/* add to new parents */
for (it = self->group->members; it; it = g_slist_next(it)) {
ObClient *c = it->data;
- if (c != self && !c->transient_for)
+ if (c != self && (!c->transient_for ||
+ c->transient_for != OB_TRAN_GROUP))
c->transients = g_slist_append(c->transients, self);
}