summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openbox/focus.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/openbox/focus.c b/openbox/focus.c
index 949a3291..ebe93a76 100644
--- a/openbox/focus.c
+++ b/openbox/focus.c
@@ -122,13 +122,17 @@ static gboolean focus_under_pointer()
if (ob_pointer_pos(&x, &y)) {
for (it = stacking_list; it != NULL; it = it->next) {
- Client *c = it->data;
- if (c->desktop == screen_desktop &&
- RECT_CONTAINS(c->frame->area, x, y))
- break;
+ if (WINDOW_IS_CLIENT(it->data)) {
+ Client *c = WINDOW_AS_CLIENT(it->data);
+ if (c->desktop == screen_desktop &&
+ RECT_CONTAINS(c->frame->area, x, y))
+ break;
+ }
}
- if (it != NULL)
+ if (it != NULL) {
+ g_assert(WINDOW_IS_CLIENT(it->data));
return client_normal(it->data) && client_focus(it->data);
+ }
}
return FALSE;
}