Windows: Don't lose the existing current GL context in SDL_CreateWindow().
authorRyan C. Gordon <icculus@icculus.org>
Thu, 01 Aug 2013 00:01:57 -0400
changeset 7556574f465da18a
parent 7555 93b540e4db8a
child 7557 609bd82bdcf6
Windows: Don't lose the existing current GL context in SDL_CreateWindow().

Fixes Bugzilla #1395.
src/video/windows/SDL_windowswindow.c
     1.1 --- a/src/video/windows/SDL_windowswindow.c	Wed Jul 31 16:25:50 2013 -0300
     1.2 +++ b/src/video/windows/SDL_windowswindow.c	Thu Aug 01 00:01:57 2013 -0400
     1.3 @@ -231,10 +231,15 @@
     1.4      }
     1.5  #if SDL_VIDEO_OPENGL_WGL
     1.6      if (window->flags & SDL_WINDOW_OPENGL) {
     1.7 +        /* The current context is lost in SDL_GL_SetupWindow; recover it. */
     1.8 +        SDL_Window *current_win = SDL_GL_GetCurrentWindow();
     1.9 +        SDL_GLContext current_ctx = SDL_GL_GetCurrentContext();
    1.10          if (WIN_GL_SetupWindow(_this, window) < 0) {
    1.11              WIN_DestroyWindow(_this, window);
    1.12 +            WIN_GL_MakeCurrent(_this, current_win, current_ctx);
    1.13              return -1;
    1.14          }
    1.15 +        WIN_GL_MakeCurrent(_this, current_win, current_ctx);
    1.16      }
    1.17  #endif
    1.18      return 0;