From 8a4312376529bc45bd340b047cae58d9ac410c18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Tue, 7 Sep 2021 10:57:53 +0200 Subject: [PATCH] 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: --- src/wayland/meta-wayland-xdg-shell.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/wayland/meta-wayland-xdg-shell.c b/src/wayland/meta-wayland-xdg-shell.c index 3b04ece83..acd0913d1 100644 --- a/src/wayland/meta-wayland-xdg-shell.c +++ b/src/wayland/meta-wayland-xdg-shell.c @@ -1037,6 +1037,7 @@ finish_popup_setup (MetaWaylandXdgPopup *xdg_popup) xdg_popup->setup.parent_surface = NULL; xdg_popup->setup.grab_seat = NULL; + xdg_popup->dismissed_by_client = FALSE; if (!meta_wayland_surface_get_window (parent_surface)) {