Fixed bug 1313 - Segfault on SDL_CreateWindow when gl lib cannot be loaded
Don't crash if the gl_data isn't valid, just return NULL.
This commit is contained in:
parent
1dafe0e989
commit
5b2a5e3412
1 changed files with 9 additions and 2 deletions
|
@ -187,9 +187,11 @@ X11_GL_UnloadLibrary(_THIS)
|
|||
#endif
|
||||
|
||||
/* Free OpenGL memory */
|
||||
if (_this->gl_data) {
|
||||
SDL_free(_this->gl_data);
|
||||
_this->gl_data = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static SDL_bool
|
||||
HasExtension(const char *extension, const char *extensions)
|
||||
|
@ -396,6 +398,11 @@ X11_GL_GetVisual(_THIS, Display * display, int screen)
|
|||
const int i = X11_GL_GetAttributes(_this,display,screen,attribs,max_attrs);
|
||||
SDL_assert(i <= max_attrs);
|
||||
|
||||
if (!_this->gl_data) {
|
||||
/* The OpenGL library wasn't loaded, SDL_GetError() should have info */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
vinfo = _this->gl_data->glXChooseVisual(display, screen, attribs);
|
||||
if (!vinfo) {
|
||||
SDL_SetError("Couldn't find matching GLX visual");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue