aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--types/xdg_shell/wlr_xdg_surface.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/types/xdg_shell/wlr_xdg_surface.c b/types/xdg_shell/wlr_xdg_surface.c
index c40cf35e..5c337543 100644
--- a/types/xdg_shell/wlr_xdg_surface.c
+++ b/types/xdg_shell/wlr_xdg_surface.c
@@ -31,17 +31,17 @@ void unmap_xdg_surface(struct wlr_xdg_surface *surface) {
assert(surface->role != WLR_XDG_SURFACE_ROLE_NONE);
surface->configured = false;
- struct wlr_xdg_popup *popup, *popup_tmp;
- wl_list_for_each_safe(popup, popup_tmp, &surface->popups, link) {
- wlr_xdg_popup_destroy(popup);
- }
-
// TODO: probably need to ungrab before this event
if (surface->mapped) {
surface->mapped = false;
wlr_signal_emit_safe(&surface->events.unmap, NULL);
}
+ struct wlr_xdg_popup *popup, *popup_tmp;
+ wl_list_for_each_safe(popup, popup_tmp, &surface->popups, link) {
+ wlr_xdg_popup_destroy(popup);
+ }
+
switch (surface->role) {
case WLR_XDG_SURFACE_ROLE_TOPLEVEL:
unmap_xdg_toplevel(surface->toplevel);