Browse Source

win32: Make leaving fullscreen when the window already isn't fullscreen a no-op

Otherwise, the styling on external windows may end up being overridden.
Frank Praznik 1 năm trước cách đây
mục cha
commit
69ec0322d3
1 tập tin đã thay đổi với 7 bổ sung0 xóa
  1. 7 0
      src/video/windows/SDL_windowswindow.c

+ 7 - 0
src/video/windows/SDL_windowswindow.c

@@ -1083,6 +1083,13 @@ int WIN_SetWindowFullscreen(SDL_VideoDevice *_this, SDL_Window *window, SDL_Vide
     SDL_Log("WIN_SetWindowFullscreen: %d", (int)fullscreen);
 #endif
 
+    /* Early out if already not in fullscreen, or the styling on
+     * external windows may end up being overridden.
+     */
+    if (!(window->flags & SDL_WINDOW_FULLSCREEN) && !fullscreen) {
+        return 0;
+    }
+
     if (SDL_ShouldAllowTopmost() && (window->flags & SDL_WINDOW_ALWAYS_ON_TOP)) {
         top = HWND_TOPMOST;
     } else {