From 848945e5d63ff8327f5a1a6e61e66fcdab3ac8fc Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Tue, 6 Apr 2010 11:51:25 +0800 Subject: egl: Unbind the old context in _eglBindContext. The last commit incorrectly moved the code under an "else". --- src/egl/main/eglcontext.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'src/egl/main/eglcontext.c') diff --git a/src/egl/main/eglcontext.c b/src/egl/main/eglcontext.c index 80e316a10b..d5a1e79a99 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; -- cgit v1.2.3