Fix _mesa_IsProgram() and _mesa_IsShader()
authorBrian Paul <brian.paul@tungstengraphics.com>
Fri, 3 Nov 2006 23:32:30 +0000 (23:32 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Fri, 3 Nov 2006 23:32:30 +0000 (23:32 +0000)
src/mesa/shader/shaderobjects.c

index 8265ff40e3092a5341e1dbc8c9b83a32d1f34b30..a2416c28726241fef90d2c1647eb3a2f73c9bb1e 100644 (file)
@@ -1097,16 +1097,28 @@ GLboolean GLAPIENTRY
 _mesa_IsProgram(GLuint program)
 {
    GET_CURRENT_CONTEXT(ctx);
-   GET_GENERIC(gen, program, "glIsProgram");
-   return gen ? GL_TRUE : GL_FALSE;
+   GET_PROGRAM(pro, program, "glIsProgram");
+   if (pro) {
+      RELEASE_PROGRAM(pro);
+      return GL_TRUE;
+   }
+   else {
+      return GL_FALSE;
+   }
 }
 
 GLboolean GLAPIENTRY
 _mesa_IsShader(GLuint shader)
 {
    GET_CURRENT_CONTEXT(ctx);
-   GET_GENERIC(gen, shader, "glIsProgram");
-   return gen ? GL_TRUE : GL_FALSE;
+   GET_SHADER(sh, shader, "glIsProgram");
+   if (sh) {
+      RELEASE_SHADER(sh);
+      return GL_TRUE;
+   }
+   else {
+      return GL_FALSE;
+   }
 }