diff --git a/gdk/wayland/gdksurface-wayland.c b/gdk/wayland/gdksurface-wayland.c index bf553670c1..f42dffd2f8 100644 --- a/gdk/wayland/gdksurface-wayland.c +++ b/gdk/wayland/gdksurface-wayland.c @@ -2155,10 +2155,11 @@ gdk_wayland_surface_create_xdg_popup (GdkSurface *surface, g_warning ("Can't map popup, already mapped"); return; } - if ((display->current_popups && - g_list_last (display->current_popups)->data != parent) || - (!display->current_popups && - !is_realized_toplevel (parent))) + if (grab_input_seat && + ((display->current_popups && + g_list_last (display->current_popups)->data != parent) || + (!display->current_popups && + !is_realized_toplevel (parent)))) { g_warning ("Tried to map a popup with a non-top most parent"); return;