Avoid problem with buggy driver returns

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4263 dfc29bdd-3216-0410-991c-e03cc46cb475
master
hybrid 2012-07-29 23:07:25 +00:00
parent 424d87e8c3
commit 865eee3d4b
1 changed files with 4 additions and 0 deletions

View File

@ -94,6 +94,8 @@ COpenGLSLMaterialRenderer::~COpenGLSLMaterialRenderer()
GLhandleARB shaders[8];
GLint count;
Driver->extGlGetAttachedObjects(Program, 8, &count, shaders);
// avoid bugs in some drivers, which return larger numbers
count=core::min_(count,8);
for (GLint i=0; i<count; ++i)
Driver->extGlDeleteObject(shaders[i]);
Driver->extGlDeleteObject(Program);
@ -105,6 +107,8 @@ COpenGLSLMaterialRenderer::~COpenGLSLMaterialRenderer()
GLuint shaders[8];
GLint count;
Driver->extGlGetAttachedShaders(Program2, 8, &count, shaders);
// avoid bugs in some drivers, which return larger numbers
count=core::min_(count,8);
for (GLint i=0; i<count; ++i)
Driver->extGlDeleteShader(shaders[i]);
Driver->extGlDeleteProgram(Program2);