[gtk/wip/carlosg/tablet-fixes: 20/22] gdk/wayland: Use right modifiers for tablet button events




commit 72cf304a861d41aa76d25aa6027a70d36e4261c5
Author: Carlos Garnacho <carlosg gnome org>
Date:   Thu Dec 2 16:19:16 2021 +0100

    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,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]