From 62a39c4c70b0ed8e153b0cccac853cc6fded99ba Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sun, 11 Mar 2007 16:58:19 +0000 Subject: stacking has been made more reliable with groups and group transients. this was a pretty invasive change in client.c though, so it may break things? it did expose some bugginess in client_calc_layer, which is now better than ever, hopefully there isn't more to be found. --- openbox/focus.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'openbox/focus.c') diff --git a/openbox/focus.c b/openbox/focus.c index 2d6804bc..73cb6f52 100644 --- a/openbox/focus.c +++ b/openbox/focus.c @@ -260,11 +260,15 @@ ObClient* focus_fallback_target(ObFocusFallbackType type) if (!config_focus_follow || config_focus_last) trans = TRUE; else { - if ((target = client_under_pointer()) && - client_search_transient - (client_search_top_transient(target), old)) - { - trans = TRUE; + if ((target = client_under_pointer())) { + GSList *sit; + + sit = client_search_top_transients(target); + for (; sit; sit = g_slist_next(sit)) + if (client_search_transient(sit->data, old)) { + trans = TRUE; + break; + } } } -- cgit v1.2.3