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
This commit is contained in:
Carlos Garnacho 2021-12-02 16:19:16 +01:00
parent 2611a996ff
commit 72cf304a86

View File

@ -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,