this is actually xor :) - fixing the focus search function to not return NULL if no valid group members exist to be a transient for

This commit is contained in:
Scott Moynes 2003-05-18 17:49:17 +00:00
parent cea19c78c1
commit d8921eb3d2

View file

@ -1402,22 +1402,25 @@ Client *client_search_focus_tree_full(Client *self)
return client_search_focus_tree_full(self->transient_for);
} else {
GSList *it;
gboolean recursed = FALSE;
for (it = self->group->members; it; it = it->next)
if (!((Client*)it->data)->transient_for) {
Client *c;
if ((c = client_search_focus_tree_full(it->data)))
return c;
recursed = TRUE;
}
return NULL;
if (recursed)
return NULL;
}
} else {
/* this function checks the whole tree, the client_search_focus_tree
does not, so we need to check this window */
if (client_focused(self))
return self;
return client_search_focus_tree(self);
}
/* this function checks the whole tree, the client_search_focus_tree~
does not, so we need to check this window */
if (client_focused(self))
return self;
return client_search_focus_tree(self);
}
static StackLayer calc_layer(Client *self)