PopupState popup_state;
+ unsigned int popup_thaw_upon_show : 1;
unsigned int initial_configure_received : 1;
unsigned int has_uncommitted_ack_configure : 1;
unsigned int mapped : 1;
if (GDK_IS_POPUP (surface))
{
+ impl->popup_thaw_upon_show = TRUE;
+ gdk_surface_freeze_updates (surface);
+
switch (impl->popup_state)
{
case POPUP_STATE_WAITING_FOR_REPOSITIONED:
if (!impl->display_server.wl_surface)
gdk_wayland_surface_create_surface (surface);
+ if (impl->popup_thaw_upon_show)
+ {
+ impl->popup_thaw_upon_show = FALSE;
+ gdk_surface_thaw_updates (surface);
+ }
+
gdk_wayland_surface_map_popup (surface, width, height, layout);
}