Mesa (master): egl/wayland: use the destroy_window_callback for swrast

Emil Velikov evelikov at kemper.freedesktop.org
Wed Jan 18 16:03:36 UTC 2017


Module: Mesa
Branch: master
Commit: bfd63143502ff03ceae903f959a6f41666b849bc
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bfd63143502ff03ceae903f959a6f41666b849bc

Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Nov 28 18:25:18 2016 +0000

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 <daniels at collabora.com>
Cc: "12.0 13.0" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>

---

 src/egl/drivers/dri2/platform_wayland.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
index 4009cc9..c448275 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;




More information about the mesa-commit mailing list