From aa352837d55405fee45fa9cb308f1239990cb4a3 Mon Sep 17 00:00:00 2001
From: Frank Praznik <[EMAIL REDACTED]>
Date: Tue, 19 Nov 2024 16:36:23 -0500
Subject: [PATCH] cocoa: Don't sync on a pending fullscreen event if the window
is miniaturized
The fullscreen event will be processed after deminiaturization is complete. Fixes a delay when restoring a miniaturized window that will return to fullscreen.
---
src/video/cocoa/SDL_cocoawindow.m | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/video/cocoa/SDL_cocoawindow.m b/src/video/cocoa/SDL_cocoawindow.m
index 560f2ddd3931a..31ec96e51d408 100644
--- a/src/video/cocoa/SDL_cocoawindow.m
+++ b/src/video/cocoa/SDL_cocoawindow.m
@@ -2637,8 +2637,8 @@ void Cocoa_RestoreWindow(SDL_VideoDevice *_this, SDL_Window *window)
SDL_CocoaWindowData *data = (__bridge SDL_CocoaWindowData *)window->internal;
NSWindow *nswindow = data.nswindow;
- if ([data.listener windowOperationIsPending:(PENDING_OPERATION_ENTER_FULLSCREEN | PENDING_OPERATION_LEAVE_FULLSCREEN)] ||
- [data.listener isInFullscreenSpaceTransition]) {
+ if (([data.listener windowOperationIsPending:(PENDING_OPERATION_ENTER_FULLSCREEN | PENDING_OPERATION_LEAVE_FULLSCREEN)] &&
+ ![data.nswindow isMiniaturized]) || [data.listener isInFullscreenSpaceTransition]) {
Cocoa_SyncWindow(_this, window);
}