vcl/source/opengl/OpenGLHelper.cxx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
New commits: commit 44994d951179f5cf32db7ead8912c3fd0e7e2afd Author: Stephan Bergmann <sberg...@redhat.com> Date: Thu Aug 27 12:13:05 2015 +0200 Fully drain glGetError ...according to <https://www.opengl.org/sdk/docs/man/html/glGetError.xhtml>: "To allow for distributed implementations, there may be several error flags. If any single error flag has recorded an error, the value of that flag is returned and that flag is reset to GL_NO_ERROR when glGetError is called. If more than one flag has recorded an error, glGetError returns and clears an arbitrary error flag value. Thus, glGetError should always be called in a loop, until it returns GL_NO_ERROR, if all error flags are to be reset." (The original code was flagged by clang-tidy's clang-analyzer-deadcode.DeadStores.) Change-Id: Ia64e2133b6a4581230b999d4b8b63aa59199ee32 diff --git a/vcl/source/opengl/OpenGLHelper.cxx b/vcl/source/opengl/OpenGLHelper.cxx index 717a7ba..f669fba 100644 --- a/vcl/source/opengl/OpenGLHelper.cxx +++ b/vcl/source/opengl/OpenGLHelper.cxx @@ -399,17 +399,19 @@ void OpenGLHelper::checkGLError(const char* pFile, size_t nLine) { OpenGLZone aZone; - GLenum glErr = glGetError(); - if (glErr != GL_NO_ERROR) + for (;;) { + GLenum glErr = glGetError(); + if (glErr == GL_NO_ERROR) + { + break; + } const char* sError = OpenGLHelper::GLErrorString(glErr); if (sError) SAL_WARN("vcl.opengl", "GL Error #" << glErr << "(" << sError << ") in File " << pFile << " at line: " << nLine); else SAL_WARN("vcl.opengl", "GL Error #" << glErr << " (no message available) in File " << pFile << " at line: " << nLine); - - glErr = glGetError(); } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits