summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2022-05-04 09:54:20 +0300
committerMarius Vlad <marius.vlad@collabora.com>2022-05-04 11:25:00 +0300
commit43bdf9a42bac33df174d6ac7ff1ab2e15441c7b5 (patch)
tree98407ce44322fd2e6d2fda7d1aefb9ab1db855a7
parenta89fbd6702dd82c4b53c0002095b8e721d1a7072 (diff)
shell: Let the output destroy handler handle layer fini
This way we don't race with it. Part of 'shell: Added missing layer fini calls'. Bug-AGL: SPEC-4351 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I366364ba128ca1dacd3d3639a1b74b02f3ceef21
-rw-r--r--src/compositor.c1
-rw-r--r--src/shell.c12
2 files changed, 1 insertions, 12 deletions
diff --git a/src/compositor.c b/src/compositor.c
index 2fb981b..5d8d300 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -86,6 +86,7 @@ handle_output_destroy(struct wl_listener *listener, void *data)
output->fullscreen_view.fs->view = NULL;
}
+ weston_layer_fini(&output->ivi->fullscreen);
output->output = NULL;
wl_list_remove(&output->output_destroy.link);
}
diff --git a/src/shell.c b/src/shell.c
index efcb102..d91570f 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -784,15 +784,6 @@ ivi_shell_destroy_views_on_layer(struct weston_layer *layer)
}
}
-static void
-ivi_shell_destroy_views_on_fullscreen_layer(struct ivi_compositor *ivi)
-{
- struct ivi_output *ivi_output;
-
- wl_list_for_each(ivi_output, &ivi->outputs, link)
- weston_surface_destroy(ivi_output->fullscreen_view.fs->view->surface);
-}
-
void
ivi_shell_finalize(struct ivi_compositor *ivi)
{
@@ -810,9 +801,6 @@ ivi_shell_finalize(struct ivi_compositor *ivi)
ivi_shell_destroy_views_on_layer(&ivi->popup);
weston_layer_fini(&ivi->popup);
-
- ivi_shell_destroy_views_on_fullscreen_layer(ivi);
- weston_layer_fini(&ivi->fullscreen);
}
static void