gtk/gdk/x11
Carlos Garnacho c0c5ce2f9b gdk/x11: Ignore regular crossing events while in implicit grabs
If we create an implicit grab on a surface, leave the surface, and
release the button, we would get 2 XI_Leave events, one with mode
XINotifyNormal when the pointer leaves the surface, and another with
mode XINotifyUngrab when the button is released.

Meanwhile, the upper layers rely on crossing events being paired,
and particularly in no crossing event being sent until the implicit
grab is dismissed (either by releasing it, or via more pervasive
grabs).

Ignoring the set of XINotifyNormal events while an implicit grab
is active adapts the X11 backend to this behavior. If the grab were
released or taken away by another grab, a crossing event with one
of the other XINotify*Grab/XINotify*Ungrab will be generated.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2879
2020-07-09 17:02:07 +02:00
..
gdkapplaunchcontext-x11.c
gdkasync.c
gdkasync.h
gdkcairocontext-x11.c
gdkcairocontext-x11.h
gdkclipboard-x11.c Fix minor typos 2020-05-28 11:00:03 +03:00
gdkclipboard-x11.h
gdkcursor-x11.c
gdkdevice-xi2.c Rename master and slave device 2020-06-18 19:22:20 +01:00
gdkdevicemanager-x11.c
gdkdevicemanager-xi2.c gdk/x11: Ignore regular crossing events while in implicit grabs 2020-07-09 17:02:07 +02:00
gdkdevicemanagerprivate-core.h
gdkdisplay-x11.c x11: Avoid thawing surface until frame is drawn 2020-06-30 14:36:15 -04:00
gdkdisplay-x11.h x11: Defer _NET_WM_FRAME_DRAWN update until frame usable by compositor 2020-06-05 10:01:13 -04:00
gdkdrag-x11.c gdk: Drop GdkGrabOwnership 2020-06-23 23:42:53 +02:00
gdkdrop-x11.c X11 dnd: Calculate relative coords right in events 2020-05-14 11:46:33 +02:00
gdkeventsource.c gdk: Depend less on gdk_event_get_device() 2020-06-23 23:42:53 +02:00
gdkeventsource.h
gdkeventtranslator.c
gdkeventtranslator.h gdk: Drop the GdkEventMask enum 2020-05-26 19:39:31 -04:00
gdkglcontext-x11.c x11: Handle window getting unmapped while frame still pending 2020-06-30 14:36:07 -04:00
gdkglcontext-x11.h x11: Defer _NET_WM_FRAME_DRAWN update until frame usable by compositor 2020-06-05 10:01:13 -04:00
gdkkeys-x11.c Fix minor typos 2020-05-28 11:00:03 +03:00
gdkkeys-x11.h
gdkmain-x11.c Rename master and slave device 2020-06-18 19:22:20 +01:00
gdkmonitor-x11.c
gdkmonitor-x11.h
gdkprivate-x11.h x11: Defer _NET_WM_FRAME_DRAWN update until frame usable by compositor 2020-06-05 10:01:13 -04:00
gdkproperty-x11.c Fix minor typos 2020-06-18 10:47:16 +03:00
gdkscreen-x11.c display: Remove the monitor signals 2020-05-17 07:10:34 +02:00
gdkscreen-x11.h Fix minor typos 2020-05-28 11:00:03 +03:00
gdkselection-x11.c
gdkselectioninputstream-x11.c
gdkselectioninputstream-x11.h
gdkselectionoutputstream-x11.c x11: Avoid a critical in clipboard data transfer 2020-05-12 21:31:19 -04:00
gdkselectionoutputstream-x11.h
gdksettings.c
gdksurface-x11.c Rename master and slave device 2020-06-18 19:22:20 +01:00
gdksurface-x11.h x11: Defer _NET_WM_FRAME_DRAWN update until frame usable by compositor 2020-06-05 10:01:13 -04:00
gdktextlistconverter-x11.c
gdktextlistconverter-x11.h
gdkvisual-x11.c
gdkvisual-x11.h gdk: Drop the GdkByteOrder enum 2020-05-26 19:45:01 -04:00
gdkvulkancontext-x11.c Fix minor typos 2020-05-28 11:00:03 +03:00
gdkvulkancontext-x11.h
gdkx11applaunchcontext.h
gdkx11device-xi2.h
gdkx11device.h
gdkx11devicemanager-xi2.h
gdkx11devicemanager.h
gdkx11display.h x11: Remove gdk_x11_register_standard_event_type() 2020-05-17 01:02:17 +02:00
gdkx11dnd.h
gdkx11glcontext.h
gdkx11monitor.h
gdkx11property.h
gdkx11screen.h
gdkx11selection.h
gdkx11surface.h
gdkx11utils.h
gdkx-autocleanups.h
gdkx.h
gdkxftdefaults.c
gdkxid.c
meson.build x11: Add back support for the damage extension 2020-06-05 10:01:13 -04:00
MwmUtil.h
xsettings-client.c
xsettings-client.h