forked from AuroraMiddleware/gtk
f9b91197c0
An xdg-popup requires a serial that the compositor will compare against its own serial and will dismiss the popup if it doesn't match. gtk+ uses either a pointer or touch serial for its helper function _gdk_wayland_seat_get_last_implicit_grab_serial() but if the menu is triggered before the user has had any pointer or touch interaction with the client, using a keyboard shortcut, there is neither pointer nor touch serial available, and gtk+ will use 0 as the default. As a result, the compositor will instantly dismiss the xdg-popup. In this case, gtk+ should use the keyboard serial instead. Track keyboard serial as well and use the keyboard serial as the value if there is no newer pointer or touch serial available. https://bugzilla.gnome.org/show_bug.cgi?id=768017 |
||
---|---|---|
.. | ||
protocol | ||
gdkapplaunchcontext-wayland.c | ||
gdkcursor-wayland.c | ||
gdkdevice-wayland.c | ||
gdkdisplay-wayland.c | ||
gdkdisplay-wayland.h | ||
gdkdnd-wayland.c | ||
gdkeventsource.c | ||
gdkglcontext-wayland.c | ||
gdkglcontext-wayland.h | ||
gdkkeys-wayland.c | ||
gdkmonitor-wayland.c | ||
gdkmonitor-wayland.h | ||
gdkprivate-wayland.h | ||
gdkscreen-wayland.c | ||
gdkseat-wayland.h | ||
gdkselection-wayland.c | ||
gdkwayland.h | ||
gdkwaylanddevice.h | ||
gdkwaylanddisplay.h | ||
gdkwaylandglcontext.h | ||
gdkwaylandmonitor.h | ||
gdkwaylandselection.h | ||
gdkwaylandwindow.h | ||
gdkwindow-wayland.c | ||
Makefile.am | ||
wm-button-layout-translation.c | ||
wm-button-layout-translation.h |