Procházet zdrojové kódy

Revert "cocoa: Don't re-enter a fullscreen space if leaving to enter an exclusive mode"

This reverts commit ee8f2861e71f549a33af8ce9958b74515eee6b81.

It turns out that the problem is elsewhere, related to needing to block mode changes until spaces transitions are complete.
Frank Praznik před 1 měsícem
rodič
revize
3163e0cc9f
1 změnil soubory, kde provedl 2 přidání a 8 odebrání
  1. 2 8
      src/video/SDL_video.c

+ 2 - 8
src/video/SDL_video.c

@@ -1927,15 +1927,11 @@ bool SDL_UpdateFullscreenMode(SDL_Window *window, SDL_FullscreenOp fullscreen, b
             goto done;
         }
         if (commit) {
-            bool skip_spaces_switch = false;
             // If we're switching between a fullscreen Space and exclusive fullscreen, we need to get back to normal first.
             if (fullscreen && Cocoa_IsWindowInFullscreenSpace(window) && !window->last_fullscreen_exclusive_display && window->fullscreen_exclusive) {
                 if (!Cocoa_SetWindowFullscreenSpace(window, false, true)) {
                     goto error;
                 }
-
-                // We just left spaces to go to an exclusive mode, so don't try to re-enter.
-                skip_spaces_switch = true;
             } else if (fullscreen && window->last_fullscreen_exclusive_display && !window->fullscreen_exclusive) {
                 for (i = 0; i < _this->num_displays; ++i) {
                     SDL_VideoDisplay *last_display = _this->displays[i];
@@ -1949,10 +1945,8 @@ bool SDL_UpdateFullscreenMode(SDL_Window *window, SDL_FullscreenOp fullscreen, b
                 }
             }
 
-            if (!skip_spaces_switch) {
-                if (Cocoa_SetWindowFullscreenSpace(window, !!fullscreen, syncHint)) {
-                    goto done;
-                }
+            if (Cocoa_SetWindowFullscreenSpace(window, !!fullscreen, syncHint)) {
+                goto done;
             }
         }
     }