Mesa (master): egl: Unbind the old context in _eglBindContext.

Chia-I Wu olv at kemper.freedesktop.org
Tue Apr 6 03:57:05 UTC 2010


Module: Mesa
Branch: master
Commit: 848945e5d63ff8327f5a1a6e61e66fcdab3ac8fc
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=848945e5d63ff8327f5a1a6e61e66fcdab3ac8fc

Author: Chia-I Wu <olv at lunarg.com>
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;




More information about the mesa-commit mailing list