Don't look for (and fail without) glGetIntegerv() until we need to.

Fixes Bugzilla #2615.
This commit is contained in:
Ryan C. Gordon 2015-05-26 10:25:15 -04:00
parent 13487426dd
commit aba4d78384
1 changed files with 7 additions and 7 deletions

View File

@ -2793,7 +2793,6 @@ int
SDL_GL_GetAttribute(SDL_GLattr attr, int *value)
{
#if SDL_VIDEO_OPENGL || SDL_VIDEO_OPENGL_ES || SDL_VIDEO_OPENGL_ES2
void (APIENTRY *glGetIntegervFunc) (GLenum pname, GLint * params);
GLenum (APIENTRY *glGetErrorFunc) (void);
GLenum attrib = 0;
GLenum error = 0;
@ -2816,11 +2815,6 @@ SDL_GL_GetAttribute(SDL_GLattr attr, int *value)
}
#endif
glGetIntegervFunc = SDL_GL_GetProcAddress("glGetIntegerv");
if (!glGetIntegervFunc) {
return SDL_SetError("Failed getting OpenGL glGetIntegerv entry point");
}
glGetErrorFunc = SDL_GL_GetProcAddress("glGetError");
if (!glGetErrorFunc) {
return SDL_SetError("Failed getting OpenGL glGetError entry point");
@ -3007,7 +3001,13 @@ SDL_GL_GetAttribute(SDL_GLattr attr, int *value)
} else
#endif
{
glGetIntegervFunc(attrib, (GLint *) value);
void (APIENTRY *glGetIntegervFunc) (GLenum pname, GLint * params);
glGetIntegervFunc = SDL_GL_GetProcAddress("glGetIntegerv");
if (glGetIntegervFunc) {
glGetIntegervFunc(attrib, (GLint *) value);
} else {
return SDL_SetError("Failed getting OpenGL glGetIntegerv entry point");
}
}
error = glGetErrorFunc();