summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-09-27 17:57:02 +0000
committerDana Jansens <danakj@orodu.net>2003-09-27 17:57:02 +0000
commite30ae5696f06b11a09355abae2e4eccf51292a88 (patch)
tree265f400c7a29766c953cc8950fc5ad73dda45ddd
parent0dfff40a30349d1d4cf164bdd4bd05a8b272d9a1 (diff)
remove from parents when changing groups
-rw-r--r--openbox/client.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/openbox/client.c b/openbox/client.c
index c60c77fb..bc3c6f0d 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -1284,6 +1284,18 @@ void client_update_wmhints(ObClient *self)
for (it = self->group->members; it; it = it->next)
self->transients = g_slist_remove(self->transients,
it->data);
+
+ /* remove myself from parents in the group */
+ if (self->transient_for == OB_TRAN_GROUP) {
+ for (it = self->group->members; it; it = it->next) {
+ ObClient *c = it->data;
+
+ if (c != self && !c->transient_for)
+ c->transients = g_slist_remove(c->transients,
+ self);
+ }
+ }
+
group_remove(self->group, self);
self->group = NULL;
}