From: Emil Velikov Date: Mon, 28 Nov 2016 18:25:18 +0000 (+0000) Subject: egl/wayland: use the destroy_window_callback for swrast X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=bfd63143502ff03ceae903f959a6f41666b849bc;p=mesa.git egl/wayland: use the destroy_window_callback for swrast As described in commit 690ead4a135 ("egl/wayland-egl: Fix for segfault in dri2_wl_destroy_surface.") if we attempt to destroy a EGL surface attached to already destroyed Wayland window we'll get a segfault. v2: set the correct callback alongside the window->private. (Dan) Cc: Daniel Stone Cc: "12.0 13.0" 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 4009cc96912..c448275af78 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -1745,6 +1745,8 @@ dri2_wl_swrast_create_window_surface(_EGLDriver *drv, _EGLDisplay *disp, dri2_surf->format = WL_SHM_FORMAT_ARGB8888; dri2_surf->wl_win = window; + dri2_surf->wl_win->private = dri2_surf; + dri2_surf->wl_win->destroy_window_callback = destroy_window_callback; dri2_surf->base.Width = -1; dri2_surf->base.Height = -1;