summaryrefslogtreecommitdiff
path: root/openbox/focus.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbox/focus.c')
-rw-r--r--openbox/focus.c14
1 files changed, 9 insertions, 5 deletions
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;
+ }
}
}