aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rootston/layer_shell.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/rootston/layer_shell.c b/rootston/layer_shell.c
index 9794071b..895b0385 100644
--- a/rootston/layer_shell.c
+++ b/rootston/layer_shell.c
@@ -270,8 +270,10 @@ static void handle_destroy(struct wl_listener *listener, void *data) {
wl_list_remove(&layer->map.link);
wl_list_remove(&layer->unmap.link);
wl_list_remove(&layer->surface_commit.link);
- wl_list_remove(&layer->output_destroy.link);
- arrange_layers((struct roots_output *)layer->layer_surface->output->data);
+ if (layer->layer_surface->output) {
+ wl_list_remove(&layer->output_destroy.link);
+ arrange_layers((struct roots_output *)layer->layer_surface->output->data);
+ }
free(layer);
}