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.
This commit is contained in:
Jasper St. Pierre 2014-08-13 19:01:52 -04:00
parent f5d1d31043
commit 966b191e13

View File

@ -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