diff --git a/src/AbstractShaderProgram.cpp b/src/AbstractShaderProgram.cpp index af7e6a218..6e892d7e8 100644 --- a/src/AbstractShaderProgram.cpp +++ b/src/AbstractShaderProgram.cpp @@ -116,10 +116,9 @@ std::pair AbstractShaderProgram::validate() { /* Error or warning message. The string is returned null-terminated, scrap the \0 at the end afterwards */ std::string message(logLength, '\n'); - if(!message.empty()) { + if(message.size() > 1) glGetProgramInfoLog(_id, message.size(), nullptr, &message[0]); - message.resize(logLength-1); - } + message.resize(std::max(logLength, 1)-1); return {success, std::move(message)}; } @@ -159,10 +158,9 @@ bool AbstractShaderProgram::link() { /* Error or warning message. The string is returned null-terminated, scrap the \0 at the end afterwards */ std::string message(logLength, '\n'); - if(!message.empty()) { + if(message.size() > 1) glGetProgramInfoLog(_id, message.size(), nullptr, &message[0]); - message.resize(logLength-1); - } + message.resize(std::max(logLength, 1)-1); /* Show error log and delete shader */ if(!success) { diff --git a/src/Shader.cpp b/src/Shader.cpp index f13b1d383..d71cea9bd 100644 --- a/src/Shader.cpp +++ b/src/Shader.cpp @@ -168,10 +168,9 @@ bool Shader::compile() { /* Error or warning message. The string is returned null-terminated, scrap the \0 at the end afterwards */ std::string message(logLength, '\0'); - if(!message.empty()) { + if(message.size() > 1) glGetShaderInfoLog(_id, message.size(), nullptr, &message[0]); - message.resize(logLength-1); - } + message.resize(std::max(logLength, 1)-1); /* Show error log */ if(!success) {