[gtk+] GdkWindow: Iterate through seats in gdk_window_set_cursor()



commit b4aa498fe742ac1d95d484903e8cf4f1e0f65e4b
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Dec 15 23:20:40 2015 +0100

    GdkWindow: Iterate through seats in gdk_window_set_cursor()
    
    And set the pointer on all seat pointers, equivalent to the master
    pointer lookup we were performing with GdkDeviceManager

 gdk/gdkwindow.c |   19 ++++++-------------
 1 files changed, 6 insertions(+), 13 deletions(-)
---
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 2189004..961c787 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -6212,28 +6212,21 @@ gdk_window_set_cursor (GdkWindow *window,
 
   if (!GDK_WINDOW_DESTROYED (window))
     {
-      GdkDeviceManager *device_manager;
-      GList *devices, *d;
+      GdkDevice *device;
+      GList *seats, *s;
 
       if (cursor)
        window->cursor = g_object_ref (cursor);
 
-      device_manager = gdk_display_get_device_manager (display);
-      devices = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_MASTER);
+      seats = gdk_display_list_seats (display);
 
-      for (d = devices; d; d = d->next)
+      for (s = seats; s; s = s->next)
         {
-          GdkDevice *device;
-
-          device = d->data;
-
-          if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
-            continue;
-
+          device = gdk_seat_get_pointer (s->data);
           gdk_window_set_cursor_internal (window, device, window->cursor);
         }
 
-      g_list_free (devices);
+      g_list_free (seats);
       g_object_notify_by_pspec (G_OBJECT (window), properties[PROP_CURSOR]);
     }
 }


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