diff options
author | Kristian Høgsberg <[email protected]> | 2010-07-19 21:00:09 -0400 |
---|---|---|
committer | Kristian Høgsberg <[email protected]> | 2010-07-19 22:45:51 -0400 |
commit | 037755122e9011c768e5caa4d4cb83aba783d3e9 (patch) | |
tree | 9191eec52cd546d61391fee90a2d6035c0720366 | |
parent | 8d0228912bfef173139296a96a097f1a6348c963 (diff) |
glx: Don't use __glXInitialize() when we might be holding __glXLock()
-rw-r--r-- | src/glx/dri2_glx.c | 7 | ||||
-rw-r--r-- | src/glx/glxclient.h | 2 | ||||
-rw-r--r-- | 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 032d620a343..6ac03cf0cfb 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 65dc26b3fcc..207908f7e25 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 320246cc4f2..445592f1a8a 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; |