From 6b3dafa4d369e6ec921338957a94f8f3a6bcbef4 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Tue, 4 Mar 2025 14:31:51 -0800
Subject: [PATCH] Fixed crash when restoring the desktop mode on macOS
Fixes https://github.com/libsdl-org/SDL/issues/12460
(cherry picked from commit 80ae3a7516a7a7f46bfaed2cfd954bae078d8e38)
---
src/video/cocoa/SDL_cocoamodes.m | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/video/cocoa/SDL_cocoamodes.m b/src/video/cocoa/SDL_cocoamodes.m
index b4e151b916f5a..b3c34ba08d704 100644
--- a/src/video/cocoa/SDL_cocoamodes.m
+++ b/src/video/cocoa/SDL_cocoamodes.m
@@ -644,7 +644,9 @@ static CGError SetDisplayModeForDisplay(CGDirectDisplayID display, SDL_DisplayMo
result = CGDisplaySetDisplayMode(display, moderef, NULL);
if (result == kCGErrorSuccess) {
// If this mode works, try it first next time.
- CFArrayExchangeValuesAtIndices(data->modes, i, 0);
+ if (i > 0) {
+ CFArrayExchangeValuesAtIndices(data->modes, i, 0);
+ }
break;
}
}