From: Emil Velikov Date: Sun, 27 Aug 2017 10:20:28 +0000 (+0100) Subject: egl/wayland: polish object teardown in dri2_wl_destroy_surface X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1a8015e753c6f52b24a473ea60e3ce0b38de7d42;p=mesa.git egl/wayland: polish object teardown in dri2_wl_destroy_surface The wl_drm wrapper is created before the wl display/surface ones. Thus make sure we destroy it after them. In reality it should not make any difference either way. Fixes: 03dd9a88b0b ("egl/wayland: Use per-surface event queues") Signed-off-by: Emil Velikov Reviewed-by: Daniel Stone --- diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index 05263fe99da..754ce6c3990 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -293,10 +293,10 @@ dri2_wl_destroy_surface(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf) dri2_surf->wl_win->destroy_window_callback = NULL; } - if (dri2_surf->wl_drm_wrapper) - wl_proxy_wrapper_destroy(dri2_surf->wl_drm_wrapper); wl_proxy_wrapper_destroy(dri2_surf->wl_surface_wrapper); wl_proxy_wrapper_destroy(dri2_surf->wl_dpy_wrapper); + if (dri2_surf->wl_drm_wrapper) + wl_proxy_wrapper_destroy(dri2_surf->wl_drm_wrapper); wl_event_queue_destroy(dri2_surf->wl_queue); free(surf);