Pārlūkot izejas kodu

Fixed crash if the OpenGL library hasn't been loaded yet

Sam Lantinga 56 gadi atpakaļ
vecāks
revīzija
e14e0ef947
2 mainītis faili ar 3 papildinājumiem un 4 dzēšanām
  1. 2 3
      src/video/x11/SDL_x11opengl.c
  2. 1 1
      src/video/x11/SDL_x11window.c

+ 2 - 3
src/video/x11/SDL_x11opengl.c

@@ -511,17 +511,16 @@ X11_GL_GetAttributes(_THIS, Display * display, int screen, int * attribs, int si
 XVisualInfo *
 X11_GL_GetVisual(_THIS, Display * display, int screen)
 {
-    XVisualInfo *vinfo;
-
     /* 64 seems nice. */
     int attribs[64];
-    X11_GL_GetAttributes(_this,display,screen,attribs,64,SDL_FALSE);
+    XVisualInfo *vinfo;
 
     if (!_this->gl_data) {
         /* The OpenGL library wasn't loaded, SDL_GetError() should have info */
         return NULL;
     }
 
+    X11_GL_GetAttributes(_this, display, screen, attribs, 64, SDL_FALSE);
     vinfo = _this->gl_data->glXChooseVisual(display, screen, attribs);
     if (!vinfo) {
         SDL_SetError("Couldn't find matching GLX visual");

+ 1 - 1
src/video/x11/SDL_x11window.c

@@ -373,7 +373,7 @@ X11_CreateWindow(_THIS, SDL_Window * window)
 #if SDL_VIDEO_OPENGL_GLX            
             && ( !_this->gl_data || ! _this->gl_data->HAS_GLX_EXT_create_context_es2_profile )
 #endif
-        ){
+        ) {
             vinfo = X11_GLES_GetVisual(_this, display, screen);
         } else
 #endif