compositor-wayland: Destroy cursor images earlier
Destroying a wl_cursor will attempt to access the wl_display, which
we have just freed. Avoid a segfault by destroying the cursor images
before we destroy the display.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dima Ryazanov <dima@gmail.com>
diff --git a/libweston/compositor-wayland.c b/libweston/compositor-wayland.c
index 60cd184..d1e387d 100644
--- a/libweston/compositor-wayland.c
+++ b/libweston/compositor-wayland.c
@@ -2372,10 +2372,6 @@
if (b->parent.compositor)
wl_compositor_destroy(b->parent.compositor);
- wl_registry_destroy(b->parent.registry);
- wl_display_flush(b->parent.wl_display);
- wl_display_disconnect(b->parent.wl_display);
-
if (b->theme)
theme_destroy(b->theme);
@@ -2384,6 +2380,10 @@
wl_cursor_theme_destroy(b->cursor_theme);
+ wl_registry_destroy(b->parent.registry);
+ wl_display_flush(b->parent.wl_display);
+ wl_display_disconnect(b->parent.wl_display);
+
free(b);
}