s/GL_INVALID_VALUE/GL_INVALID_OPERATION/ in _mesa_get_uniformfv()
authorBrian Paul <brian.paul@tungstengraphics.com>
Sat, 28 Jun 2008 22:48:31 +0000 (16:48 -0600)
committerBrian Paul <brian.paul@tungstengraphics.com>
Sat, 28 Jun 2008 22:48:58 +0000 (16:48 -0600)
src/mesa/shader/shader_api.c

index 0bb96a0d6c0c393ce31469bb441140f9f0a8aa26..c9eec7f07eec71311f5782dda8dff13aa7d7cdf4 100644 (file)
@@ -892,8 +892,10 @@ _mesa_get_uniformfv(GLcontext *ctx, GLuint program, GLint location,
    struct gl_shader_program *shProg
       = _mesa_lookup_shader_program(ctx, program);
    if (shProg) {
-      if (location < shProg->Uniforms->NumUniforms) {
-         GLint progPos, i;
+      if (shProg->Uniforms &&
+          location >= 0 && location < shProg->Uniforms->NumUniforms) {
+         GLint progPos;
+         GLuint i;
          const struct gl_program *prog = NULL;
 
          progPos = shProg->Uniforms->Uniforms[location].VertPos;
@@ -915,11 +917,11 @@ _mesa_get_uniformfv(GLcontext *ctx, GLuint program, GLint location,
          }
       }
       else {
-         _mesa_error(ctx, GL_INVALID_VALUE, "glGetUniformfv(location)");
+         _mesa_error(ctx, GL_INVALID_OPERATION, "glGetUniformfv(location)");
       }
    }
    else {
-      _mesa_error(ctx, GL_INVALID_VALUE, "glGetUniformfv(program)");
+      _mesa_error(ctx, GL_INVALID_OPERATION, "glGetUniformfv(program)");
    }
 }