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>
dev
Daniel Stone 8 years ago
parent 7dbb0e148f
commit 698f9bf854
  1. 8
      libweston/compositor-wayland.c

@ -2372,10 +2372,6 @@ wayland_destroy(struct weston_compositor *ec)
if (b->parent.compositor) if (b->parent.compositor)
wl_compositor_destroy(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) if (b->theme)
theme_destroy(b->theme); theme_destroy(b->theme);
@ -2384,6 +2380,10 @@ wayland_destroy(struct weston_compositor *ec)
wl_cursor_theme_destroy(b->cursor_theme); 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); free(b);
} }

Loading…
Cancel
Save