Browse Source

WinRT: made bug 3202/3213's fix apply for WinRT apps

David Ludwig 9 years ago
parent
commit
fa7c15ce1f
1 changed files with 11 additions and 1 deletions
  1. 11 1
      src/core/winrt/SDL_winrtapp_direct3d.cpp

+ 11 - 1
src/core/winrt/SDL_winrtapp_direct3d.cpp

@@ -218,7 +218,17 @@ WINRT_ProcessWindowSizeChange() // TODO: Pass an SDL_Window-identifying thing in
             }
 #endif
 
-            WINRT_UpdateWindowFlags(window, SDL_WINDOW_MAXIMIZED | SDL_WINDOW_FULLSCREEN_DESKTOP);
+            const Uint32 latestFlags = WINRT_DetectWindowFlags(window);
+            if (latestFlags & SDL_WINDOW_MAXIMIZED) {
+                /* SDL_SendWindowEvent, as of this writing (2015-Dec-27), *won't* actually
+                   send events if the associated flag is already set.  This is taken
+                   advantage of here.  The below call is only meant to send a
+                   window event, if and when it is needed!
+                */
+                SDL_SendWindowEvent(window, SDL_WINDOWEVENT_MAXIMIZED, 0, 0);
+            }
+
+            WINRT_UpdateWindowFlags(window, SDL_WINDOW_FULLSCREEN_DESKTOP);
 
             /* The window can move during a resize event, such as when maximizing
                or resizing from a corner */