diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index 59fa99c2..fe03420e 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -3050,6 +3050,8 @@ shell_destroy_shell_surface(struct wl_resource *resource) { struct shell_surface *shsurf = wl_resource_get_user_data(resource); + if (!wl_list_empty(&shsurf->popup.grab_link)) + remove_popup_grab(shsurf); shsurf->resource = NULL; }