libweston: fix output destroy signal list corruption
This issue was likely introduced by "libweston: add
weston_view_set_output()" which forgot to ensure the output destroy
listener is removed when weston_view is destroyed, leading to freed
memory being left into the list.
This was quite easy to trigger by opening and closing an application
window a few times, leading various memory corruption symptoms.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Ian Ray <ian.ray@ge.com>
diff --git a/libweston/compositor.c b/libweston/compositor.c
index 6a300e0..619e88b 100644
--- a/libweston/compositor.c
+++ b/libweston/compositor.c
@@ -1931,6 +1931,7 @@
pixman_region32_fini(&view->transform.opaque);
weston_view_set_transform_parent(view, NULL);
+ weston_view_set_output(view, NULL);
wl_list_remove(&view->surface_link);