diff options
Diffstat (limited to 'sway/desktop')
-rw-r--r-- | sway/desktop/xdg_shell.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sway/desktop/xdg_shell.c b/sway/desktop/xdg_shell.c index ce6fe41a..c84ca111 100644 --- a/sway/desktop/xdg_shell.c +++ b/sway/desktop/xdg_shell.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include "sway/tree/container.h" | 17 | #include "sway/tree/container.h" |
18 | #include "sway/tree/view.h" | 18 | #include "sway/tree/view.h" |
19 | #include "sway/tree/workspace.h" | 19 | #include "sway/tree/workspace.h" |
20 | #include "sway/xdg_decoration.h" | ||
20 | 21 | ||
21 | static const struct sway_view_child_impl popup_impl; | 22 | static const struct sway_view_child_impl popup_impl; |
22 | 23 | ||
@@ -461,6 +462,9 @@ static void handle_destroy(struct wl_listener *listener, void *data) { | |||
461 | wl_list_remove(&xdg_shell_view->map.link); | 462 | wl_list_remove(&xdg_shell_view->map.link); |
462 | wl_list_remove(&xdg_shell_view->unmap.link); | 463 | wl_list_remove(&xdg_shell_view->unmap.link); |
463 | view->wlr_xdg_surface = NULL; | 464 | view->wlr_xdg_surface = NULL; |
465 | if (view->xdg_decoration) { | ||
466 | view->xdg_decoration->view = NULL; | ||
467 | } | ||
464 | view_begin_destroy(view); | 468 | view_begin_destroy(view); |
465 | } | 469 | } |
466 | 470 | ||