From: Chia-I Wu Date: Fri, 5 Feb 2010 03:27:55 +0000 (+0800) Subject: egl_dri2: Do not destroy linked resources. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fc5ca85a63c6d252a9e8c450f12d2f11057ea2c6;p=mesa.git egl_dri2: Do not destroy linked resources. A linked resource is stil owned by the display. --- diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index 84dd958490e..3bdac2944cb 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -735,11 +735,11 @@ dri2_make_current(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *dsurf, if ((cctx == NULL && ddraw == NULL && rdraw == NULL) || dri2_dpy->core->bindContext(cctx, ddraw, rdraw)) { - if (dsurf) + if (dsurf && !_eglIsSurfaceLinked(dsurf)) dri2_destroy_surface(drv, disp, dsurf); - if (rsurf && rsurf != dsurf) + if (rsurf && rsurf != dsurf && !_eglIsSurfaceLinked(dsurf)) dri2_destroy_surface(drv, disp, rsurf); - if (ctx != NULL) + if (ctx != NULL && !_eglIsContextLinked(ctx)) dri2_dpy->core->unbindContext(dri2_egl_context(ctx)->dri_context); return EGL_TRUE;