summaryrefslogtreecommitdiffstats
path: root/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-add-weston_layer_fini.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-add-weston_layer_fini.patch')
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-add-weston_layer_fini.patch82
1 files changed, 0 insertions, 82 deletions
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-add-weston_layer_fini.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-add-weston_layer_fini.patch
deleted file mode 100644
index 5b4fd04c4..000000000
--- a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-add-weston_layer_fini.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 8740037a93c7c4400cc381ecf3009d1e4014be07 Mon Sep 17 00:00:00 2001
-From: Pekka Paalanen <pekka.paalanen@collabora.com>
-Upstream-Status: Backport
-Date: Fri, 14 May 2021 14:29:40 +0300
-Subject: [PATCH] libweston: add weston_layer_fini()
-
-Layers did not have a fini sequence before, which means the compositor
-layer list might have stale pointers temporarily when shutting down. A
-bigger problem might be having views linger after the destruction of the
-layer.
-
-These problems were not observed yet, but if they exist, this patch
-should help to find them and then fix them.
-
-The check in weston_compositor_shutdown() is not an assert yet, because
-it will trigger until all components call weston_layer_fini() correctly.
-Some components do not even have a tear-down function to call it from at
-all, like fullscreen-shell.
-
-The same with the check in weston_layer_fini().
-
-Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
----
- include/libweston/libweston.h | 2 ++
- libweston/compositor.c | 21 +++++++++++++++++++++
- 2 files changed, 23 insertions(+)
-
-diff --git a/include/libweston/libweston.h b/include/libweston/libweston.h
-index 7e8e7a625..d9907de0d 100644
---- a/include/libweston/libweston.h
-+++ b/include/libweston/libweston.h
-@@ -1637,6 +1637,8 @@ void
- weston_layer_init(struct weston_layer *layer,
- struct weston_compositor *compositor);
- void
-+weston_layer_fini(struct weston_layer *layer);
-+void
- weston_layer_set_position(struct weston_layer *layer,
- enum weston_layer_position position);
- void
-diff --git a/libweston/compositor.c b/libweston/compositor.c
-index dc6ecb2ce..c2da3a48c 100644
---- a/libweston/compositor.c
-+++ b/libweston/compositor.c
-@@ -3243,6 +3243,21 @@ weston_layer_init(struct weston_layer *layer,
- weston_layer_set_mask_infinite(layer);
- }
-
-+/** Finalize the weston_layer struct.
-+ *
-+ * \param layer The layer to finalize.
-+ */
-+WL_EXPORT void
-+weston_layer_fini(struct weston_layer *layer)
-+{
-+ wl_list_remove(&layer->link);
-+
-+ if (!wl_list_empty(&layer->view_list.link))
-+ weston_log("BUG: finalizing a layer with views still on it.\n");
-+
-+ wl_list_remove(&layer->view_list.link);
-+}
-+
- /** Sets the position of the layer in the layer list. The layer will be placed
- * below any layer with the same position value, if any.
- * This function is safe to call if the layer is already on the list, but the
-@@ -7738,6 +7753,12 @@ weston_compositor_shutdown(struct weston_compositor *ec)
- weston_binding_list_destroy_all(&ec->debug_binding_list);
-
- weston_plane_release(&ec->primary_plane);
-+
-+ weston_layer_fini(&ec->fade_layer);
-+ weston_layer_fini(&ec->cursor_layer);
-+
-+ if (!wl_list_empty(&ec->layer_list))
-+ weston_log("BUG: layer_list is not empty after shutdown. Calls to weston_layer_fini() are missing somwhere.\n");
- }
-
- /** weston_compositor_exit_with_code
---
-GitLab
-