wayland/surface: Clear has_uncommitted_ack_configure when hiding

The 'has_uncommitted_ack_configure' state was added to make sure we're
responding to 'xdg_surface.configure' events with
'xdg_surface.ack_configure' requests, as is necessary according to spec.
What we didn't do was to clear this state when hiding, meaning that if
we hid the surface after a configure event, but before the frame
finished and we processed the 'has_uncommitted_ack_configure', we'd try
to acknowledge the surface configuration after having destroyed the
surface.

Closes: #3262
This commit is contained in:
Jonas Ådahl 2020-10-15 14:52:57 +02:00
parent 57ebc351a9
commit 7dfb25f124

View File

@ -2799,6 +2799,8 @@ gdk_wayland_surface_hide_surface (GdkSurface *surface)
g_clear_pointer (&impl->popup.layout, gdk_popup_layout_unref);
}
impl->has_uncommitted_ack_configure = FALSE;
unset_transient_for_exported (surface);
_gdk_wayland_surface_clear_saved_size (surface);