aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/xwin/glx/indirect.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/hw/xwin/glx/indirect.c')
-rw-r--r--xorg-server/hw/xwin/glx/indirect.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/xorg-server/hw/xwin/glx/indirect.c b/xorg-server/hw/xwin/glx/indirect.c
index f9d623cb2..6b1265d70 100644
--- a/xorg-server/hw/xwin/glx/indirect.c
+++ b/xorg-server/hw/xwin/glx/indirect.c
@@ -1609,6 +1609,7 @@ glxWinContextMakeCurrent(__GLXcontext *base)
{
glxWinDeferredCreateContext(gc, drawPriv);
}
+ _glapi_set_dispatch(gc->Dispatch);
if (gc->ctx == NULL)
{
@@ -1696,6 +1697,7 @@ glxWinContextLoseCurrent(__GLXcontext *base)
}
base->isCurrent=FALSE; /* It looks like glx is not doing this */
+ _glapi_set_dispatch(NULL);
return ret;
}
@@ -1753,6 +1755,7 @@ glxWinContextDestroy(__GLXcontext *base)
free(gc->Dispatch);
free(gc);
+ _glapi_set_dispatch(NULL);
}
}
@@ -1787,7 +1790,7 @@ glxWinCreateContext(__GLXscreen *screen,
// actual native GL context creation is deferred until attach()
//context->ctx = NULL; already done with memset
context->shareContext = shareContext;
-
+
context->Dispatch=calloc(sizeof(void*), (sizeof(struct _glapi_table) / sizeof(void *) + MAX_EXTENSION_FUNCS));
_glapi_set_dispatch(context->Dispatch);