[gtk+] gdkwayland-window: Don't map the grab transfer menu for GtkMenu
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] gdkwayland-window: Don't map the grab transfer menu for GtkMenu
- Date: Wed, 13 Aug 2014 23:03:45 +0000 (UTC)
commit 966b191e132fb8cfef039fb02a971e4e92c01dc1
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Wed Aug 13 19:01:52 2014 -0400
gdkwayland-window: Don't map the grab transfer menu for GtkMenu
This is a bad idea in general, but it also means that the focus for a
window drops when we pop up a menu, since the grab transfer menu exists.
gdk/wayland/gdkwindow-wayland.c | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
---
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index 41e6fb1..f26c3e0 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -1031,12 +1031,25 @@ find_grab_input_seat (GdkWindow *window, GdkWindow *transient_for)
return NULL;
}
+static gboolean
+should_be_mapped (GdkWindow *window)
+{
+ /* Don't map crazy temp that GTK+ uses for internal X11 shenanigans. */
+ if (window->window_type == GDK_WINDOW_TEMP && window->x < 0 && window->y < 0)
+ return FALSE;
+
+ return TRUE;
+}
+
static void
gdk_wayland_window_map (GdkWindow *window)
{
GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl);
GdkWindow *transient_for;
+ if (!should_be_mapped (window))
+ return;
+
if (!impl->mapped && !impl->use_custom_surface)
{
/* Popup menus can appear without a transient parent, which means they
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]