[gtk+/composite-templates] wayland: wl_shell_surface_set_popup requires a valid seat and serial
- From: Juan Pablo Ugarte <jpu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/composite-templates] wayland: wl_shell_surface_set_popup requires a valid seat and serial
- Date: Sun, 15 Jul 2012 21:49:10 +0000 (UTC)
commit dc78959838c5e4f6fc89872320e727cbbc02231c
Author: Rob Bradford <rob linux intel com>
Date: Wed Jul 11 19:18:37 2012 +0100
wayland: wl_shell_surface_set_popup requires a valid seat and serial
If we don't have our own grab then get the grab from the parent.
gdk/wayland/gdkwindow-wayland.c | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
---
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index f1530eb..f1b7975 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -626,6 +626,8 @@ gdk_wayland_window_map (GdkWindow *window)
{
GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl);
GdkWindowImplWayland *parent;
+ GdkWaylandDisplay *wayland_display =
+ GDK_WAYLAND_DISPLAY (gdk_window_get_display (window));
if (!impl->mapped)
{
@@ -637,12 +639,21 @@ gdk_wayland_window_map (GdkWindow *window)
impl->hint & GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU ||
impl->hint & GDK_WINDOW_TYPE_HINT_COMBO)
{
+ struct wl_seat *grab_input_seat = NULL;
+
/* Use the device that was used for the grab as the device for
* the popup window setup - so this relies on GTK+ taking the
* grab before showing the popup window.
*/
+ if (impl->grab_input_seat)
+ grab_input_seat = impl->grab_input_seat;
+
+ if (!grab_input_seat)
+ grab_input_seat = parent->grab_input_seat;
+
wl_shell_surface_set_popup (impl->shell_surface,
- parent->grab_input_seat, parent->grab_time,
+ grab_input_seat,
+ _gdk_wayland_display_get_serial (wayland_display),
parent->surface,
window->x, window->y, 0);
} else {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]