egl: Always record error code.
authorChia-I Wu <olv@lunarg.com>
Wed, 17 Feb 2010 08:42:30 +0000 (16:42 +0800)
committerChia-I Wu <olv@lunarg.com>
Wed, 17 Feb 2010 12:00:11 +0000 (20:00 +0800)
The error code denotes the success or failure of the most recent
function call.  A call to _eglError should always update the error code.

src/egl/main/eglcurrent.c

index 989c19a2fa57e99dbd6d55117d62c3d6f5de06f3..c697bf796dc88f91673ec14dc65bf452e57a15ee 100644 (file)
@@ -248,19 +248,20 @@ _eglGetCurrentContext(void)
 
 
 /**
- * Record EGL error code.
+ * Record EGL error code and return EGL_FALSE.
  */
 EGLBoolean
 _eglError(EGLint errCode, const char *msg)
 {
    _EGLThreadInfo *t = _eglGetCurrentThread();
-   const char *s;
 
    if (t == &dummy_thread)
       return EGL_FALSE;
 
-   if (t->LastError == EGL_SUCCESS) {
-      t->LastError = errCode;
+   t->LastError = errCode;
+
+   if (errCode != EGL_SUCCESS) {
+      const char *s;
 
       switch (errCode) {
       case EGL_BAD_ACCESS: