summaryrefslogtreecommitdiff
path: root/gdk/gdksurfaceprivate.h
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2022-12-23 16:04:02 +0100
committerCarlos Garnacho <carlosg@gnome.org>2022-12-23 16:12:03 +0100
commite7f798dcf5d53b0216dcd44ac4995a6144053a98 (patch)
treeae2575ac8fbdfbd7d3bbf847e3546ae025482ef5 /gdk/gdksurfaceprivate.h
parentf6bd63c9ad70936ef0dbfd33853649ae4f6f35e8 (diff)
downloadgtk+-e7f798dcf5d53b0216dcd44ac4995a6144053a98.tar.gz
gdk/surface: Handle clicks outside client surfaces
The owner_events=TRUE grab makes GDK on X11 see events happening outside every client window as received on the grab window. Additionally check that the pointer is inside the grab window (i.e. it received GDK_CROSSING_NORMAL crossing events for the core pointer) in order to handle clicks happening outside client windows. These new paths are expected to be a no-op on Wayland, and to also work for touchscreen input on X11, due to emulated pointer events.
Diffstat (limited to 'gdk/gdksurfaceprivate.h')
-rw-r--r--gdk/gdksurfaceprivate.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gdk/gdksurfaceprivate.h b/gdk/gdksurfaceprivate.h
index f57bccdf97..8847511bff 100644
--- a/gdk/gdksurfaceprivate.h
+++ b/gdk/gdksurfaceprivate.h
@@ -77,6 +77,7 @@ struct _GdkSurface
guint autohide : 1;
guint shortcuts_inhibited : 1;
guint request_motion : 1;
+ guint has_pointer : 1;
guint request_motion_id;