mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-09-20 14:00:10 +00:00
c0c5ce2f9b
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 |
||
---|---|---|
.. | ||
gdkapplaunchcontext-x11.c | ||
gdkasync.c | ||
gdkasync.h | ||
gdkcairocontext-x11.c | ||
gdkcairocontext-x11.h | ||
gdkclipboard-x11.c | ||
gdkclipboard-x11.h | ||
gdkcursor-x11.c | ||
gdkdevice-xi2.c | ||
gdkdevicemanager-x11.c | ||
gdkdevicemanager-xi2.c | ||
gdkdevicemanagerprivate-core.h | ||
gdkdisplay-x11.c | ||
gdkdisplay-x11.h | ||
gdkdrag-x11.c | ||
gdkdrop-x11.c | ||
gdkeventsource.c | ||
gdkeventsource.h | ||
gdkeventtranslator.c | ||
gdkeventtranslator.h | ||
gdkglcontext-x11.c | ||
gdkglcontext-x11.h | ||
gdkkeys-x11.c | ||
gdkkeys-x11.h | ||
gdkmain-x11.c | ||
gdkmonitor-x11.c | ||
gdkmonitor-x11.h | ||
gdkprivate-x11.h | ||
gdkproperty-x11.c | ||
gdkscreen-x11.c | ||
gdkscreen-x11.h | ||
gdkselection-x11.c | ||
gdkselectioninputstream-x11.c | ||
gdkselectioninputstream-x11.h | ||
gdkselectionoutputstream-x11.c | ||
gdkselectionoutputstream-x11.h | ||
gdksettings.c | ||
gdksurface-x11.c | ||
gdksurface-x11.h | ||
gdktextlistconverter-x11.c | ||
gdktextlistconverter-x11.h | ||
gdkvisual-x11.c | ||
gdkvisual-x11.h | ||
gdkvulkancontext-x11.c | ||
gdkvulkancontext-x11.h | ||
gdkx11applaunchcontext.h | ||
gdkx11device-xi2.h | ||
gdkx11device.h | ||
gdkx11devicemanager-xi2.h | ||
gdkx11devicemanager.h | ||
gdkx11display.h | ||
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 | ||
MwmUtil.h | ||
xsettings-client.c | ||
xsettings-client.h |