gdkwindow: Update cursor for tablet tools in the window

This check must be done explicitly on Wayland as the master device for
tablet tools differ from the Core Pointer. This ensures that whenever a
tablet tool is inside a window and the cursor is programmatically changed,
it will be visually updated too.

https://bugzilla.gnome.org/show_bug.cgi?id=785375
This commit is contained in:
Carlos Garnacho 2017-07-25 15:37:10 +02:00
parent 5b9adfba46
commit 312773a927

View File

@ -4588,8 +4588,18 @@ gdk_window_set_cursor (GdkWindow *window,
for (s = seats; s; s = s->next)
{
GList *devices, *d;
device = gdk_seat_get_pointer (s->data);
gdk_window_set_cursor_internal (window, device, window->cursor);
devices = gdk_seat_get_slaves (s->data, GDK_SEAT_CAPABILITY_TABLET_STYLUS);
for (d = devices; d; d = d->next)
{
device = gdk_device_get_associated_device (d->data);
gdk_window_set_cursor_internal (window, device, window->cursor);
}
g_list_free (devices);
}
g_list_free (seats);