diff Framework/OpenGL/OpenGLShader.cpp @ 584:434ceeb0bcab

layers: InfoPanel, Polyline, Texture
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 19 Apr 2019 17:36:00 +0200
parents fadacfbf5538
children 6da17230c7a3
line wrap: on
line diff
--- a/Framework/OpenGL/OpenGLShader.cpp	Fri Apr 19 17:16:37 2019 +0200
+++ b/Framework/OpenGL/OpenGLShader.cpp	Fri Apr 19 17:36:00 2019 +0200
@@ -53,14 +53,15 @@
         int infoLen = 0;
         glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLen);
 
-        if (infoLen > 1) 
+        if (infoLen > 0)
         {
-          char infoLog[infoLen + 1];
-          glGetShaderInfoLog(shader, infoLen, NULL, infoLog);
+          std::string infoLog;
+          infoLog.resize(infoLen + 1);
+          glGetShaderInfoLog(shader, infoLen, NULL, &infoLog[0]);
           glDeleteShader(shader);
 
           throw Orthanc::OrthancException(Orthanc::ErrorCode_InternalError,
-                                          "Error while creating an OpenGL shader: " + std::string(infoLog));
+                                          "Error while creating an OpenGL shader: " + infoLog);
         }
         else
         {