Mesa (master): glx: Don't use __glXInitialize() when we might be holding __glXLock()
Kristian Høgsberg
krh at kemper.freedesktop.org
Tue Jul 20 02:48:18 UTC 2010
Module: Mesa
Branch: master
Commit: 037755122e9011c768e5caa4d4cb83aba783d3e9
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=037755122e9011c768e5caa4d4cb83aba783d3e9
Author: Kristian Høgsberg <krh at bitplanet.net>
Date: Mon Jul 19 21:00:09 2010 -0400
glx: Don't use __glXInitialize() when we might be holding __glXLock()
---
src/glx/dri2_glx.c | 7 ++-----
src/glx/glxclient.h | 2 ++
src/glx/glxext.c | 1 +
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c
index 032d620..6ac03cf 100644
--- a/src/glx/dri2_glx.c
+++ b/src/glx/dri2_glx.c
@@ -186,11 +186,8 @@ dri2DestroyDrawable(__GLXDRIdrawable *base)
{
struct dri2_screen *psc = (struct dri2_screen *) base->psc;
struct dri2_drawable *pdraw = (struct dri2_drawable *) base;
- __GLXdisplayPrivate *dpyPriv;
- struct dri2_display *pdp;
-
- dpyPriv = __glXInitialize(base->psc->dpy);
- pdp = (struct dri2_display *)dpyPriv->dri2Display;
+ __GLXdisplayPrivate *dpyPriv = psc->base.display;
+ struct dri2_display *pdp = (struct dri2_display *)dpyPriv->dri2Display;
__glxHashDelete(pdp->dri2Hash, pdraw->base.xDrawable);
(*psc->core->destroyDrawable) (pdraw->driDrawable);
diff --git a/src/glx/glxclient.h b/src/glx/glxclient.h
index 65dc26b..207908f 100644
--- a/src/glx/glxclient.h
+++ b/src/glx/glxclient.h
@@ -523,6 +523,8 @@ struct __GLXscreenConfigsRec
*/
const struct glx_context_vtable *direct_context_vtable;
+ __GLXdisplayPrivate *display;
+
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
/**
* Per screen direct rendering interface functions and data.
diff --git a/src/glx/glxext.c b/src/glx/glxext.c
index 320246c..445592f 100644
--- a/src/glx/glxext.c
+++ b/src/glx/glxext.c
@@ -759,6 +759,7 @@ glx_screen_init(__GLXscreenConfigs *psc,
psc->scr = screen;
psc->dpy = priv->dpy;
psc->drawHash = __glxHashCreate();
+ psc->display = priv;
if (psc->drawHash == NULL)
return GL_FALSE;
More information about the mesa-commit
mailing list