From 43bdf9a42bac33df174d6ac7ff1ab2e15441c7b5 Mon Sep 17 00:00:00 2001 From: Marius Vlad Date: Wed, 4 May 2022 09:54:20 +0300 Subject: [PATCH] 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 Change-Id: I366364ba128ca1dacd3d3639a1b74b02f3ceef21 --- src/compositor.c | 1 + src/shell.c | 12 ------------ 2 files changed, 1 insertion(+), 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 -- 2.16.6