gtk2/gdk/wayland
Olivier Fourdan f9b91197c0 wayland: Use keyboard serial for implicit grab
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
2016-08-19 23:50:14 -04:00
..
protocol wayland: Add request focus support via gtk_shell 2016-03-10 12:31:15 +08:00
gdkapplaunchcontext-wayland.c wayland: Formatting fixes 2015-02-28 00:02:30 -05:00
gdkcursor-wayland.c wayland: Clean up naming of GdkWaylandDisplay pointers 2016-04-26 08:38:18 -04:00
gdkdevice-wayland.c wayland: Use keyboard serial for implicit grab 2016-08-19 23:50:14 -04:00
gdkdisplay-wayland.c wayland: Update current tablet support to using v2 2016-07-22 19:35:09 +02:00
gdkdisplay-wayland.h wayland: Fix build 2016-07-22 20:58:55 +02:00
gdkdnd-wayland.c gdk/dnd: Don't use default display when getting cursor 2016-04-26 23:03:24 +08:00
gdkeventsource.c gdk/wayland: use the multi-thread safe wayland API 2016-05-17 22:58:03 -04:00
gdkglcontext-wayland.c Remove an outdated comment 2016-08-19 23:24:08 -04:00
gdkglcontext-wayland.h gl: Drop profile for gdk_window_create_gl_context() 2015-02-12 12:34:28 +00:00
gdkkeys-wayland.c wayland: Avoid unitialized memory reads 2016-05-12 11:38:46 -04:00
gdkmonitor-wayland.c wayland: Port to new monitor api 2016-04-27 23:18:16 -04:00
gdkmonitor-wayland.h wayland: Port to new monitor api 2016-04-27 23:18:16 -04:00
gdkprivate-wayland.h wayland: Make gdk_wayland_window_get_wl_output() private 2016-05-19 09:48:46 +02:00
gdkscreen-wayland.c wayland: Survive lack of settings 2016-05-19 07:38:33 -04:00
gdkseat-wayland.h wayland: Remove GdkWaylandDataDevice typedef 2016-03-21 17:15:59 +01:00
gdkselection-wayland.c wayland: Separate selection buffers and other per-selection atom data 2016-06-30 14:10:26 +02:00
gdkwayland.h wayland: Port to new monitor api 2016-04-27 23:18:16 -04:00
gdkwaylanddevice.h wayland: Add GdkSeat implementation 2015-12-15 00:40:21 +01:00
gdkwaylanddisplay.h wayland: fix rename of wl_shell to xdg_shell 2014-01-20 14:37:33 -05:00
gdkwaylandglcontext.h GL: Follow naming conventions 2014-10-21 23:48:12 -04:00
gdkwaylandmonitor.h wayland: Port to new monitor api 2016-04-27 23:18:16 -04:00
gdkwaylandselection.h Drop gdk_wayland_drag_context_get_dnd_window 2015-12-02 00:47:53 -05:00
gdkwaylandwindow.h wayland: Make gdk_wayland_window_get_wl_output() private 2016-05-19 09:48:46 +02:00
gdkwindow-wayland.c wayland: Postpone processing move_to_rect params until showing 2016-08-18 04:52:03 -04:00
Makefile.am wayland: Link against librt 2016-08-07 16:11:55 -04:00
wm-button-layout-translation.c wayland: Set gtk-decoration-layout 2014-06-06 15:32:59 +02:00
wm-button-layout-translation.h wayland: Set gtk-decoration-layout 2014-06-06 15:32:59 +02:00