diff options
Diffstat (limited to 'opengl')
| -rw-r--r-- | opengl/libagl/egl.cpp | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/opengl/libagl/egl.cpp b/opengl/libagl/egl.cpp index 7ac6f9277638..a1cb23a250b9 100644 --- a/opengl/libagl/egl.cpp +++ b/opengl/libagl/egl.cpp @@ -82,6 +82,11 @@ static GLint getError() {      if (ggl_unlikely(gEGLErrorKey == -1))          return EGL_SUCCESS;      GLint error = (GLint)pthread_getspecific(gEGLErrorKey); +    if (error == 0) { +        // The TLS key has been created by another thread, but the value for +        // this thread has not been initialized. +        return EGL_SUCCESS; +    }      pthread_setspecific(gEGLErrorKey, (void*)EGL_SUCCESS);      return error;  }  |