diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2022-03-31 23:20:45 +0300 |
---|---|---|
committer | Marius Vlad <marius.vlad@collabora.com> | 2022-05-24 22:11:23 +0300 |
commit | 41864644897651616a7697e4b41af3ae25dc22fa (patch) | |
tree | b7b0c510f2f9c819fea8bfc5a4219fa2ea478cf1 | |
parent | 975e03b83a508810cd38d7e465f3482995883b88 (diff) | |
download | weston-41864644897651616a7697e4b41af3ae25dc22fa.tar.gz |
desktop-shell: Clarify weston_view destruction at tear down
This documents the fact that other views are handled implictly by
libweston-desktop, and we shouldn't attempt to destroy indiscriminately
views that aren't created by desktop-shell.
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
(cherry picked from commit 299f87f0739ac3c73d71fb4000f18d455fcf4a4b)
-rw-r--r-- | desktop-shell/shell.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index bdba56df..be3971f9 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -4966,9 +4966,17 @@ desktop_shell_destroy_layer(struct weston_layer *layer) * additional black_view created and added to its layer_link * fullscreen view. See shell_ensure_fullscreen_black_view() * - * As that black_view it is not a weston_desktop_surface - * we can't have a shsurf for it so we just destroy it like - * we do it in desktop_surface_removed() */ + * Note that we do not choose to destroy all other potential + * views we find in the layer, but instead we explicitly verify + * if the view in question was explicitly created by + * desktop-shell, rather than libweston-desktop (in + * desktop_surface_added()). + * + * This is particularly important because libweston-desktop + * could create additional views, which are managed implicitly, + * but which are still being added to the layer list. + * + */ if (shsurf) desktop_shell_destroy_surface(shsurf); else |