xdg-shell/popup: Reset 'dismissed-by-client' state when remapping
A popup surface can be remapped multiple times using the same wl_surface, if a new xdg_popup object is created. To properly handle this, we need to reset the 'dismissed_by_client' boolean to false, as otherwise we won't allow new buffer commits. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1993>
This commit is contained in:
parent
41e426af10
commit
8a43123765
@ -1037,6 +1037,7 @@ finish_popup_setup (MetaWaylandXdgPopup *xdg_popup)
|
|||||||
|
|
||||||
xdg_popup->setup.parent_surface = NULL;
|
xdg_popup->setup.parent_surface = NULL;
|
||||||
xdg_popup->setup.grab_seat = NULL;
|
xdg_popup->setup.grab_seat = NULL;
|
||||||
|
xdg_popup->dismissed_by_client = FALSE;
|
||||||
|
|
||||||
if (!meta_wayland_surface_get_window (parent_surface))
|
if (!meta_wayland_surface_get_window (parent_surface))
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user