diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2022-05-04 09:54:20 +0300 |
---|---|---|
committer | Marius Vlad <marius.vlad@collabora.com> | 2022-05-04 11:25:00 +0300 |
commit | 43bdf9a42bac33df174d6ac7ff1ab2e15441c7b5 (patch) | |
tree | 98407ce44322fd2e6d2fda7d1aefb9ab1db855a7 | |
parent | a89fbd6702dd82c4b53c0002095b8e721d1a7072 (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.c | 1 | ||||
-rw-r--r-- | src/shell.c | 12 |
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 |