diff options
-rw-r--r-- | 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 41e6fb1b10..f26c3e0c3a 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 |