From 993fc6226d06f25513756251283e70054082ee8a Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sun, 18 May 2003 17:09:55 +0000 Subject: 2 in 1 deal :\ client.c stacking.c: fixing looping transient case for group transient windows. now a window which is transient for a group is *not* transient for any other transient windows in the group (perviously the other window had to be transient for the group to be excluded, now it can be transient for anything). client.c/h event.c render.c/h: adjustnig icon handling a bit. will be converting the legacy pixmap icons into rgba data so they can be handled the same as netwm icons. --- openbox/stacking.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) (limited to 'openbox/stacking.c') diff --git a/openbox/stacking.c b/openbox/stacking.c index eac4025c..e205d4b0 100644 --- a/openbox/stacking.c +++ b/openbox/stacking.c @@ -120,13 +120,11 @@ void stacking_raise(ObWindow *window) } else { GSList *it; - /* the check for TRAN_GROUP is to prevent an infinate loop with - 2 transients of the same group at the head of the group's - members list */ for (it = client->group->members; it; it = it->next) { Client *c = it->data; - if (c != client && c->transient_for != TRAN_GROUP) + /* checking transient_for prevents infinate loops! */ + if (c != client && !c->transient_for) stacking_raise(it->data); } if (it == NULL) return; @@ -183,13 +181,11 @@ void stacking_lower(ObWindow *window) } else { GSList *it; - /* the check for TRAN_GROUP is to prevent an infinate loop with - 2 transients of the same group at the head of the group's - members list */ for (it = client->group->members; it; it = it->next) { Client *c = it->data; - if (c != client && c->transient_for != TRAN_GROUP) + /* checking transient_for prevents infinate loops! */ + if (c != client && !c->transient_for) stacking_lower(it->data); } if (it == NULL) return; @@ -228,15 +224,12 @@ void stacking_add_nonintrusive(ObWindow *win) GSList *sit; GList *it; - /* the check for TRAN_GROUP is to prevent an infinate loop with - 2 transients of the same group at the head of the group's - members list */ for (it = stacking_list; !parent && it; it = it->next) { for (sit = client->group->members; !parent && sit; sit = sit->next) { Client *c = sit->data; - if (sit->data == it->data && - c->transient_for != TRAN_GROUP) + /* checking transient_for prevents infinate loops! */ + if (sit->data == it->data && !c->transient_for) parent = it->data; } } -- cgit v1.2.3