proper check to see if something was raised, the it==NULL would cause it to always return, incorrectly.
Dana Jansens danakj@orodu.net
1 files changed,
6 insertions(+),
2 deletions(-)
jump to
M
openbox/stacking.c
→
openbox/stacking.c
@@ -112,6 +112,7 @@ g_assert(stacking_list != NULL); /* this would be bad */
if (WINDOW_IS_CLIENT(window)) { Client *client = WINDOW_AS_CLIENT(window); + /* move up the transient chain as far as possible first */ if (client->transient_for) { if (client->transient_for != TRAN_GROUP) {@@ -119,15 +120,18 @@ stacking_raise(CLIENT_AS_WINDOW(client->transient_for));
return; } else { GSList *it; + gboolean raised = FALSE; for (it = client->group->members; it; it = it->next) { Client *c = it->data; /* checking transient_for prevents infinate loops! */ - if (c != client && !c->transient_for) + if (c != client && !c->transient_for) { stacking_raise(it->data); + raised = TRUE; + } } - if (it == NULL) return; + if (raised) return; } } }