diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2015-12-15 23:20:40 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2015-12-15 23:20:40 +0100 |
commit | b4aa498fe742ac1d95d484903e8cf4f1e0f65e4b (patch) | |
tree | 4519e6254784658628fc368ad37505bde3ccf7bc | |
parent | ff686344c917abdd816903195454c96f872fd04e (diff) | |
download | gtk+-b4aa498fe742ac1d95d484903e8cf4f1e0f65e4b.tar.gz |
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
-rw-r--r-- | gdk/gdkwindow.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 2189004434..961c787671 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]); } } |