[gtk+/gestures: 160/173] gdk: Lookup both device and global cursor when checking up the hierarchy



commit a552aa07eb7b035a2b97e3214d29e668a9923ed0
Author: Carlos Garnacho <carlosg gnome org>
Date:   Wed May 14 12:53:54 2014 +0200

    gdk: Lookup both device and global cursor when checking up the hierarchy
    
    When the pointer cursor is updated on CSW, lookup for either a device
    cursor, or a global one. It would previously lookup for windows with
    a global cursor, and then check if it had a device cursor, which would
    skip windows with only device cursors set, and unexpectedly set the
    global cursor.

 gdk/gdkwindow.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
---
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index e48e5d0..1d0bf4d 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -6891,6 +6891,7 @@ update_cursor (GdkDisplay *display,
   /* Find the first window with the cursor actually set, as
      the cursor is inherited from the parent */
   while (cursor_window->cursor == NULL &&
+         !g_hash_table_contains (cursor_window->device_cursor, device) &&
         (parent = get_event_parent (cursor_window)) != NULL &&
         parent->window_type != GDK_WINDOW_ROOT)
     cursor_window = parent;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]