[PATCH] compositor: Clean up view output move and destroy listeners
Ander Conselvan de Oliveira
conselvan2 at gmail.com
Thu Dec 19 08:34:28 PST 2013
From: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
Remove those listeners when the output is destroyed, otherwise they'll
point to invalid data that may lead to corruption when assigning a new
output for the view.
--
This is possibly related to bug 72845. I didn't have enough equipment
to try and reproduce it.
https://bugs.freedesktop.org/show_bug.cgi?id=72845
---
src/compositor.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/compositor.c b/src/compositor.c
index 6ca297a..ff0f3ab 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -413,6 +413,12 @@ weston_view_output_destroy_handler(struct wl_listener *listener,
if (ev->surface->output_destroyed)
ev->surface->output_destroyed(ev->surface);
+
+ wl_list_remove(&ev->output_move_listener.link);
+ wl_list_remove(&ev->output_destroy_listener.link);
+
+ wl_list_init(&ev->output_move_listener.link);
+ wl_list_init(&ev->output_destroy_listener.link);
}
WL_EXPORT struct weston_view *
--
1.7.9.5
More information about the wayland-devel
mailing list