From: Marius Vlad Date: Wed, 4 May 2022 06:54:20 +0000 (+0300) Subject: shell: Let the output destroy handler handle layer fini X-Git-Tag: 13.93.0~14 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;h=43bdf9a42bac33df174d6ac7ff1ab2e15441c7b5;p=src%2Fagl-compositor.git 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 --- 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