From 9dcd7c1974dcc6fcbd6d20d961797b70acd42e97 Mon Sep 17 00:00:00 2001 From: Bill Robinson Date: Sat, 24 Jan 2015 16:50:27 +0000 Subject: [PATCH] Fix for shader warning strings with null characters in them --- src/Magnum/AbstractShaderProgram.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Magnum/AbstractShaderProgram.cpp b/src/Magnum/AbstractShaderProgram.cpp index 20446c068..10fd9161e 100644 --- a/src/Magnum/AbstractShaderProgram.cpp +++ b/src/Magnum/AbstractShaderProgram.cpp @@ -391,8 +391,12 @@ bool AbstractShaderProgram::link(std::initializer_list name) { GLint location = glGetUniformLocation(_id, name); - if(location == -1) - Warning() << "AbstractShaderProgram: location of uniform \'" + std::string{name, name.size()} + "\' cannot be retrieved!"; + if(location == -1) { + std::string namestr = std::string{name, name.size()}; + while (!namestr.empty() && namestr.back() == '\0') namestr.pop_back(); + Warning() << "AbstractShaderProgram: location of uniform \'" + namestr + "\' cannot be retrieved!"; + } + return location; }