summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/glx/x11/glxext.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/glx/x11/glxext.c b/src/glx/x11/glxext.c
index 27985e7f40..5844c3f656 100644
--- a/src/glx/x11/glxext.c
+++ b/src/glx/x11/glxext.c
@@ -156,12 +156,15 @@ static void FreeScreenConfigs(__GLXdisplayPrivate *priv)
for (i = 0; i < screens; i++, psc++) {
if (psc->configs) {
_gl_context_modes_destroy( psc->configs );
- if(psc->effectiveGLXexts)
+ if (psc->effectiveGLXexts)
Xfree(psc->effectiveGLXexts);
-
psc->configs = NULL; /* NOTE: just for paranoia */
}
- Xfree((char*) psc->serverGLXexts);
+ if (psc->visuals) {
+ _gl_context_modes_destroy( psc->visuals );
+ psc->visuals = NULL; /* NOTE: just for paranoia */
+ }
+ Xfree((char*) psc->serverGLXexts);
#ifdef GLX_DIRECT_RENDERING
if (psc->driScreen) {