with the previous patch the resource isn't used inside weston_surface_destroy()
anymore (aside sending events unuseful for a closing client), so we can safely
reset it.

Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>
---
 src/compositor.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/compositor.c b/src/compositor.c
index c6cf682..1cf63c8 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -1339,6 +1339,10 @@ destroy_surface(struct wl_resource *resource)
 {
        struct weston_surface *surface = wl_resource_get_user_data(resource);
 
+       /* Set the resource to NULL, since we don't want to leave a
+        * dangling pointer if the surface was refcounted and survives
+        * the weston_surface_destroy() call. */
+       surface->resource = NULL;
        weston_surface_destroy(surface);
 }
 
-- 
1.8.4.2

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to