]> git.sur5r.net Git - i3/i3/commitdiff
Bugfix: When handling an EnterNotify for a child window, access the correct con-...
authorMichael Stapelberg <michael@stapelberg.de>
Fri, 26 Nov 2010 17:18:40 +0000 (18:18 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Fri, 26 Nov 2010 17:18:40 +0000 (18:18 +0100)
src/handlers.c

index f5966db921e40e5c55d9e97e48a354271c730ea1..7e65af4d9fc3d29a6037fdf299aae01b683c8f5c 100644 (file)
@@ -191,9 +191,12 @@ int handle_enter_notify(void *ignored, xcb_connection_t *conn,
     if (event_is_ignored(event->sequence))
         return 1;
 
+    bool enter_child = false;
     /* Get container by frame or by child window */
-    if ((con = con_by_frame_id(event->event)) == NULL)
+    if ((con = con_by_frame_id(event->event)) == NULL) {
         con = con_by_window_id(event->event);
+        enter_child = true;
+    }
 
     /* If not, then the user moved his cursor to the root window. In that case, we adjust c_ws */
     if (con == NULL) {
@@ -203,7 +206,7 @@ int handle_enter_notify(void *ignored, xcb_connection_t *conn,
     }
 
     /* see if the user entered the window on a certain window decoration */
-    int layout = con->layout;
+    int layout = (enter_child ? con->parent->layout : con->layout);
     Con *child;
     TAILQ_FOREACH(child, &(con->nodes_head), nodes)
         if (rect_contains(child->deco_rect, event->event_x, event->event_y)) {