Commit 36090f576fb35a4d28195824a5f2aa8d0c5db261

David Ludwig 2015-11-26T02:13:15

WinRT: bug-fix, OpenGLES2 was failing to init, after recent windowing fixes Some SDL_Window flags were getting lost inside WINRT_UpdateWindowFlags, namely SDL_WINDOW_OPENGL.

diff --git a/src/video/winrt/SDL_winrtvideo.cpp b/src/video/winrt/SDL_winrtvideo.cpp
index 11041a7..4621d81 100644
--- a/src/video/winrt/SDL_winrtvideo.cpp
+++ b/src/video/winrt/SDL_winrtvideo.cpp
@@ -359,6 +359,13 @@ WINRT_VideoQuit(_THIS)
     WINRT_QuitMouse(_this);
 }
 
+static const Uint32 WINRT_DetectableFlags =
+    SDL_WINDOW_MAXIMIZED |
+    SDL_WINDOW_FULLSCREEN_DESKTOP |
+    SDL_WINDOW_SHOWN |
+    SDL_WINDOW_HIDDEN |
+    SDL_WINDOW_MOUSE_FOCUS;
+
 extern "C" Uint32
 WINRT_DetectWindowFlags(SDL_Window * window)
 {
@@ -430,6 +437,7 @@ WINRT_DetectWindowFlags(SDL_Window * window)
 void
 WINRT_UpdateWindowFlags(SDL_Window * window, Uint32 mask)
 {
+    mask &= WINRT_DetectableFlags;
     if (window) {
         Uint32 apply = WINRT_DetectWindowFlags(window);
         if ((apply & mask) & SDL_WINDOW_FULLSCREEN) {