Windows: Don't lose the existing current GL context in SDL_CreateWindow().

Fixes Bugzilla #1395.
This commit is contained in:
Ryan C. Gordon 2013-08-01 00:01:57 -04:00
parent 51f5bfbc4b
commit 8ed3858721

View file

@ -231,10 +231,15 @@ WIN_CreateWindow(_THIS, SDL_Window * window)
}
#if SDL_VIDEO_OPENGL_WGL
if (window->flags & SDL_WINDOW_OPENGL) {
/* The current context is lost in SDL_GL_SetupWindow; recover it. */
SDL_Window *current_win = SDL_GL_GetCurrentWindow();
SDL_GLContext current_ctx = SDL_GL_GetCurrentContext();
if (WIN_GL_SetupWindow(_this, window) < 0) {
WIN_DestroyWindow(_this, window);
WIN_GL_MakeCurrent(_this, current_win, current_ctx);
return -1;
}
WIN_GL_MakeCurrent(_this, current_win, current_ctx);
}
#endif
return 0;