summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2015-12-15 23:20:40 +0100
committerCarlos Garnacho <carlosg@gnome.org>2015-12-15 23:20:40 +0100
commitb4aa498fe742ac1d95d484903e8cf4f1e0f65e4b (patch)
tree4519e6254784658628fc368ad37505bde3ccf7bc
parentff686344c917abdd816903195454c96f872fd04e (diff)
downloadgtk+-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.c19
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]);
}
}