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