all repos — openbox @ d8921eb3d2279af3dfc8f8ff4e32509bde4a3b54

openbox fork - make it a bit more like ryudo

this is actually xor :) - fixing the focus search function to not return NULL if no valid group members exist to be a transient for
Scott Moynes smoynes@nexus.carleton.ca
commit

d8921eb3d2279af3dfc8f8ff4e32509bde4a3b54

parent

cea19c78c1d3bccb356fce21cda4a2fc85afce1b

1 files changed, 10 insertions(+), 7 deletions(-)

jump to
M openbox/client.copenbox/client.c

@@ -1402,22 +1402,25 @@ if (self->transient_for != TRAN_GROUP) {

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)