diff options
Diffstat (limited to 'rootston/xdg_shell.c')
-rw-r--r-- | rootston/xdg_shell.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/rootston/xdg_shell.c b/rootston/xdg_shell.c index e5ab9efd..fed9afcd 100644 --- a/rootston/xdg_shell.c +++ b/rootston/xdg_shell.c @@ -475,6 +475,7 @@ static void decoration_handle_destroy(struct wl_listener *listener, struct roots_xdg_toplevel_decoration *decoration = wl_container_of(listener, decoration, destroy); + decoration->surface->xdg_toplevel_decoration = NULL; view_update_decorated(decoration->surface->view, false); wl_list_remove(&decoration->destroy.link); wl_list_remove(&decoration->request_mode.link); @@ -523,6 +524,7 @@ void handle_xdg_toplevel_decoration(struct wl_listener *listener, void *data) { } decoration->wlr_decoration = wlr_decoration; decoration->surface = xdg_surface; + xdg_surface->xdg_toplevel_decoration = decoration; decoration->destroy.notify = decoration_handle_destroy; wl_signal_add(&wlr_decoration->events.destroy, &decoration->destroy); |