summaryrefslogtreecommitdiff
path: root/openbox/focus.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-05-23 02:00:54 +0000
committerDana Jansens <danakj@orodu.net>2003-05-23 02:00:54 +0000
commitb69473054b3cb2e47192e892ce834bf34f56003b (patch)
tree3e140bc2e7963a9e921b90a3afd881c091ed425b /openbox/focus.c
parent493e7d4a6ec5a3fc5e6677d21b9940dc2e17b4ac (diff)
missed a case of using the stacking list and assuming that its all clients still. fixed that assumption now.
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 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;
}