Fixed love.graphics.newShader crashing when extern variables with very short names are used

This commit is contained in:
Alex Szpakowski
2013-07-11 19:26:50 -03:00
parent 267d901cd6
commit 2ccbbe1c64
+6 -2
View File
@@ -219,8 +219,12 @@ void Shader::mapActiveUniforms()
delete[] cname;
// glGetActiveUniform appends "[0]" to the end of array uniform names...
if (u.name.find("[0]") == u.name.length() - 3)
u.name.erase(u.name.length() - 3);
if (u.name.length() > 3)
{
size_t findpos = u.name.find("[0]");
if (findpos != std::string::npos && findpos == u.name.length() - 3)
u.name.erase(u.name.length() - 3);
}
if (u.location != -1)
uniforms[u.name] = u;