summaryrefslogtreecommitdiff
path: root/gdk/x11/gdkdevice-xi2.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2017-11-03 06:01:56 +0100
committerBenjamin Otte <otte@redhat.com>2017-11-04 00:07:13 +0100
commite294f7155583469ad25f2da0a3ffa1ca4ab099df (patch)
tree3f7f8d799334536046cf66bea01c9491e754129c /gdk/x11/gdkdevice-xi2.c
parentd30d55be9eae94868af249e84976743a3e2e4614 (diff)
downloadgtk+-e294f7155583469ad25f2da0a3ffa1ca4ab099df.tar.gz
x11: Redo cursor handling completely
Instead of creating a GdkX11Cursor, create GdkCursors. Cache the XCursor in a hash table instead. Also, make use of the new fallback mechanism for fallback code: Make sure to provide cursors for the names that are guaranteed to exist, but do not do bad attempts at displaying texture surfaces. Black/White/transparent is not a replacement for those.
Diffstat (limited to 'gdk/x11/gdkdevice-xi2.c')
-rw-r--r--gdk/x11/gdkdevice-xi2.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gdk/x11/gdkdevice-xi2.c b/gdk/x11/gdkdevice-xi2.c
index 8af7f34313..b94ae39eec 100644
--- a/gdk/x11/gdkdevice-xi2.c
+++ b/gdk/x11/gdkdevice-xi2.c
@@ -290,7 +290,7 @@ gdk_x11_device_xi2_set_window_cursor (GdkDevice *device,
XIDefineCursor (GDK_WINDOW_XDISPLAY (window),
device_xi2->device_id,
GDK_WINDOW_XID (window),
- gdk_x11_cursor_get_xcursor (cursor));
+ gdk_x11_display_get_xcursor (GDK_WINDOW_DISPLAY (window), cursor));
else
XIUndefineCursor (GDK_WINDOW_XDISPLAY (window),
device_xi2->device_id,
@@ -439,8 +439,7 @@ gdk_x11_device_xi2_grab (GdkDevice *device,
xcursor = None;
else
{
- _gdk_x11_cursor_update_theme (cursor);
- xcursor = gdk_x11_cursor_get_xcursor (cursor);
+ xcursor = gdk_x11_display_get_xcursor (display, cursor);
}
mask.deviceid = device_xi2->device_id;