From 72cf304a861d41aa76d25aa6027a70d36e4261c5 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Thu, 2 Dec 2021 16:19:16 +0100 Subject: [PATCH] gdk/wayland: Use right modifiers for tablet button events We are looking up the seat logical pointer modifiers (i.e. the wl_pointer), not the ones for the tablet tool device. This breaks accounting further along in GTK leaving stuck implicit grabs. Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4102 --- gdk/wayland/gdkdevice-wayland.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c index fdfb8968c0..d0bc73eb97 100644 --- a/gdk/wayland/gdkdevice-wayland.c +++ b/gdk/wayland/gdkdevice-wayland.c @@ -3621,7 +3621,6 @@ tablet_create_button_event_frame (GdkWaylandTabletData *tablet, GdkEventType evtype, guint button) { - GdkWaylandSeat *seat = GDK_WAYLAND_SEAT (tablet->seat); GdkEvent *event; event = gdk_button_event_new (evtype, @@ -3629,7 +3628,7 @@ tablet_create_button_event_frame (GdkWaylandTabletData *tablet, tablet->logical_device, tablet->current_tool->tool, tablet->pointer_info.time, - device_get_modifiers (seat->logical_pointer), + device_get_modifiers (tablet->logical_device), button, tablet->pointer_info.surface_x, tablet->pointer_info.surface_y, -- 2.30.2