diff --git a/src/gl/gl3shader.cpp b/src/gl/gl3shader.cpp index 7614171..a98ef50 100644 --- a/src/gl/gl3shader.cpp +++ b/src/gl/gl3shader.cpp @@ -251,13 +251,12 @@ Shader::create(const char **vsrc, const char **fsrc) } fail = linkprogram(vs, fs, &program); + + glDeleteShader(vs); + glDeleteShader(fs); if(fail){ - glDeleteShader(fs); - glDeleteShader(vs); return nil; } - glDeleteProgram(vs); - glDeleteProgram(fs); Shader *sh = rwNewT(Shader, 1, MEMDUR_EVENT | ID_DRIVER); // or global?