src/video/wincommon/SDL_wingl.c
changeset 1754 c67921b517c3
parent 1737 eacc5bc01d1c
child 1757 ac282d472a2e
--- a/src/video/wincommon/SDL_wingl.c	Mon May 01 06:41:17 2006 +0000
+++ b/src/video/wincommon/SDL_wingl.c	Mon May 01 07:15:35 2006 +0000
@@ -177,6 +177,7 @@
 	int iAttribs[64];
 	int *iAttr;
 	float fAttribs[1] = { 0 };
+	const GLubyte *(*glGetStringFunc)(GLenum);
 	const char *wglext;
 
 	/* load the gl driver from a default path */
@@ -338,8 +339,14 @@
 	 * somewhat a documented and reliable hack - it was originally
 	 * as a feature added by mistake, but since so many people rely
 	 * on it, it will not be removed.  strstr should be safe here.*/
-	wglext = (const char *)this->glGetString(GL_EXTENSIONS);
-	if ( !SDL_strstr(wglext, "WGL_EXT_swap_control") ) {
+	glGetStringFunc = WIN_GL_GetProcAddress(this, "glGetString");
+	if ( glGetStringFunc ) {
+		wglext = (const char *)this->glGetString(GL_EXTENSIONS);
+	} else {
+		/* Uh oh, something is seriously wrong here... */
+		wglext = NULL;
+	}
+	if ( !wglext || !SDL_strstr(wglext, "WGL_EXT_swap_control") ) {
 		this->gl_data->wglSwapIntervalEXT = NULL;
 		this->gl_data->wglGetSwapIntervalEXT = NULL;
 	}