summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main.c5
-rw-r--r--src/shell.c7
2 files changed, 6 insertions, 6 deletions
diff --git a/src/main.c b/src/main.c
index e85d788..8492f54 100644
--- a/src/main.c
+++ b/src/main.c
@@ -74,6 +74,11 @@ handle_output_destroy(struct wl_listener *listener, void *data)
output = wl_container_of(listener, output, output_destroy);
assert(output->output == data);
+ if (output->fullscreen_view.fs->view) {
+ weston_surface_destroy(output->fullscreen_view.fs->view->surface);
+ output->fullscreen_view.fs->view = NULL;
+ }
+
output->output = NULL;
wl_list_remove(&output->output_destroy.link);
}
diff --git a/src/shell.c b/src/shell.c
index e6fb332..40beef1 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -561,13 +561,8 @@ destroy_black_view(struct wl_listener *listener, void *data)
if (fs && fs->fs) {
- if (fs->fs->view && fs->fs->view->surface) {
- weston_surface_destroy(fs->fs->view->surface);
- fs->fs->view = NULL;
- }
-
- free(fs->fs);
wl_list_remove(&fs->fs_destroy.link);
+ free(fs->fs);
}
}