X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fshaderprogram.cpp;h=68a4767d648f26fc3c5514ac4c3cc8ab1f4dfde2;hp=0a5cb2e839810bd5b37ca65b29b5b556bde17595;hb=0ce8df17fae3ec986bd9570e5552aed92c080088;hpb=f8ef964f021d1d6da6ea46bbb1fe8f0250a5be8c;ds=sidebyside diff --git a/src/shaderprogram.cpp b/src/shaderprogram.cpp index 0a5cb2e..68a4767 100644 --- a/src/shaderprogram.cpp +++ b/src/shaderprogram.cpp @@ -47,10 +47,10 @@ bool ShaderProgram::InitialiseShaders(const char * vertex_file, const char * fra ShaderProgram::~ShaderProgram() { m_valid = false; - for(auto shader : m_shaders) + for(auto shader = m_shaders.begin(); shader != m_shaders.end(); ++shader) { - glDetachShader(m_program, shader.obj); - glDeleteShader(shader.obj); + glDetachShader(m_program, shader->obj); + glDeleteShader(shader->obj); } if (m_program) @@ -104,6 +104,7 @@ char * ShaderProgram::GetShaderSource(const char * src_file) const bool ShaderProgram::AttachShader(const char * src_file, GLenum type) { GLuint shader_obj = glCreateShader(type); + glObjectLabel(GL_SHADER, shader_obj, -1, src_file); char * src = GetShaderSource(src_file); if (src == NULL) { @@ -121,7 +122,7 @@ bool ShaderProgram::AttachShader(const char * src_file, GLenum type) { char info_log[2048]; - glGetShaderInfoLog(shader_obj, 2048, nullptr, info_log); + glGetShaderInfoLog(shader_obj, 2048, NULL, info_log); Error("Shader compile error (file \"%s\"): %s (type %d)", src_file, info_log, type); return false; }