diff options
Diffstat (limited to 'xorg-server/hw/xwin/glx/indirect.c')
-rw-r--r-- | xorg-server/hw/xwin/glx/indirect.c | 5 |
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); |