[gtk/wip/carlosg/tablet-fixes: 2/3] gdk/wayland: Unset GDK_BUTTON1_MASK on proximity_in
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/carlosg/tablet-fixes: 2/3] gdk/wayland: Unset GDK_BUTTON1_MASK on proximity_in
- Date: Thu, 2 Dec 2021 16:05:37 +0000 (UTC)
commit 52f83644c696ae1d842c5bb8e9b40d589b46b1a8
Author: Carlos Garnacho <carlosg gnome org>
Date: Thu Dec 2 16:53:47 2021 +0100
gdk/wayland: Unset GDK_BUTTON1_MASK on proximity_in
In some circumstances (e.g. activating with a stylus something that
closes a window), we can receive zwp_tablet_tool.proximity_out without
receiving a zwp_tablet_tool.up beforehand.
In those cases, we are not expecting neither .up nor .button, so
reset the stylus device button modifiers on proximity_out.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4103
gdk/wayland/gdkdevice-wayland.c | 4 ++++
1 file changed, 4 insertions(+)
---
diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c
index d0bc73eb97..8a45e911e9 100644
--- a/gdk/wayland/gdkdevice-wayland.c
+++ b/gdk/wayland/gdkdevice-wayland.c
@@ -3606,6 +3606,10 @@ tablet_tool_handle_proximity_out (void *data,
g_object_unref (tablet->pointer_info.focus);
tablet->pointer_info.focus = NULL;
+ tablet->pointer_info.button_modifiers &=
+ ~(GDK_BUTTON1_MASK | GDK_BUTTON2_MASK | GDK_BUTTON3_MASK |
+ GDK_BUTTON4_MASK | GDK_BUTTON5_MASK);
+
gdk_device_update_tool (tablet->stylus_device, NULL);
g_clear_object (&tablet->pointer_info.cursor);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]