Module: Mesa Branch: master Commit: 848945e5d63ff8327f5a1a6e61e66fcdab3ac8fc URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=848945e5d63ff8327f5a1a6e61e66fcdab3ac8fc
Author: Chia-I Wu <[email protected]> Date: Tue Apr 6 11:51:25 2010 +0800 egl: Unbind the old context in _eglBindContext. The last commit incorrectly moved the code under an "else". --- src/egl/main/eglcontext.c | 19 +++++++++---------- 1 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/egl/main/eglcontext.c b/src/egl/main/eglcontext.c index 80e316a..d5a1e79 100644 --- a/src/egl/main/eglcontext.c +++ b/src/egl/main/eglcontext.c @@ -378,19 +378,18 @@ _eglBindContext(_EGLContext **ctx, _EGLSurface **draw, _EGLSurface **read) /* bind the new context */ oldCtx = _eglBindContextToThread(newCtx, t); - if (newCtx) { + if (newCtx) _eglBindContextToSurfaces(newCtx, draw, read); - } - else { + + /* unbind the old context from its binding surfaces */ + if (oldCtx && oldCtx != newCtx) { assert(!*draw && !*read); - if (oldCtx) { - *draw = oldCtx->DrawSurface; - *read = oldCtx->ReadSurface; - assert(*draw && *read); - /* unbind the old context from its surfaces */ - _eglBindContextToSurfaces(NULL, draw, read); - } + *draw = oldCtx->DrawSurface; + *read = oldCtx->ReadSurface; + assert(*draw && *read); + + _eglBindContextToSurfaces(NULL, draw, read); } *ctx = oldCtx; _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
