Deleting program does not delete shaders that are marked
TRAC #12012
Also fixes failure to delete flagged program upon glUseProgram(0).
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
Author: Andrew Lewycky
git-svn-id: https://angleproject.googlecode.com/svn/trunk@201 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Program.cpp b/src/libGLESv2/Program.cpp
index aa74319..18a46c0 100644
--- a/src/libGLESv2/Program.cpp
+++ b/src/libGLESv2/Program.cpp
@@ -58,6 +58,16 @@
Program::~Program()
{
unlink(true);
+
+ if (mVertexShader != NULL)
+ {
+ mVertexShader->detach();
+ }
+
+ if (mFragmentShader != NULL)
+ {
+ mFragmentShader->detach();
+ }
}
bool Program::attachShader(Shader *shader)