Fixes incorrect error handling in GetAttribLocation
TRAC #11657
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@128 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/libGLESv2.cpp b/src/libGLESv2/libGLESv2.cpp
index 13f6e21..8260525 100644
--- a/src/libGLESv2/libGLESv2.cpp
+++ b/src/libGLESv2/libGLESv2.cpp
@@ -1722,11 +1722,19 @@
if (context)
{
+
gl::Program *programObject = context->getProgram(program);
if (!programObject)
{
- return error(GL_INVALID_VALUE, -1);
+ if (context->getShader(program))
+ {
+ return error(GL_INVALID_OPERATION, -1);
+ }
+ else
+ {
+ return error(GL_INVALID_VALUE, -1);
+ }
}
return programObject->getAttributeLocation(name);