map.insert fails every time. If I create a temporary map in the function it works fine.
Code:
class OpenGLShaderReference : public ShaderReference
{
public:
map<std::string,OpenGLUniform*> uniforms;
}
Uniform* OpenGLShaderReference::GetUniform(std::string name)
{
OpenGLUniform* uniform = new OpenGLUniform;
uniform->name=name;
uniform->index = glGetUniformLocation(program,name.c_str());
this->uniforms.insert(pair<std::string,OpenGLUniform*>(name,uniform));
if (this->uniforms[name]==NULL) Print("Failed to insert uniform");
return uniform;
}