Skip to content

Commit

Permalink
Date: Sun, 30 Apr 2006 14:20:05 +1000
Browse files Browse the repository at this point in the history
From: Rob
Subject: [SDL] SDL pre-release

OpenGL fails on the zipped pre-release source accessible from
http://www.libsdl.org/svn.php.

Appears to be following lines in sdl_wing.c (lines 341-345):

wglext = (const char *)this->glGetString(GL_EXTENSIONS);
    if ( !SDL_strstr(wglext, "WGL_EXT_swap_control") ) {
        this->gl_data->wglSwapIntervalEXT = NULL;
        this->gl_data->wglGetSwapIntervalEXT = NULL;
    }

glGetString is a null pointer, as are other gl function pointers, so call
fails.  Never looked at sdl source before, so no further than that as yet.
  • Loading branch information
slouken committed May 1, 2006
1 parent 363ddd8 commit 599cecb
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions src/video/wincommon/SDL_wingl.c
Expand Up @@ -177,6 +177,7 @@ int WIN_GL_SetupWindow(_THIS)
int iAttribs[64];
int *iAttr;
float fAttribs[1] = { 0 };
const GLubyte *(*glGetStringFunc)(GLenum);
const char *wglext;

/* load the gl driver from a default path */
Expand Down Expand Up @@ -338,8 +339,14 @@ int WIN_GL_SetupWindow(_THIS)
* 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;
}
Expand Down

0 comments on commit 599cecb

Please sign in to comment.