diff options
author | Emil Velikov <emil.velikov@collabora.com> | 2016-11-28 18:25:18 +0000 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2017-01-20 22:21:58 +0000 |
commit | 689ca381b5f7ee799ded0431416cd4dd666e873a (patch) | |
tree | c1650e644e9df8a0d4a945393f6343806a2b256c | |
parent | cc2894d376e75de5255ed9670bcae14524cb0801 (diff) | |
download | mesa-689ca381b5f7ee799ded0431416cd4dd666e873a.tar.gz |
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@collabora.com>
Cc: "12.0 13.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
(cherry picked from commit bfd63143502ff03ceae903f959a6f41666b849bc)
-rw-r--r-- | src/egl/drivers/dri2/platform_wayland.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index 1a295d5467b..fd4bbf56957 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -1706,6 +1706,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; |