From f4c12601206dda36f2996a95083e3e0602a9ca42 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Fri, 10 Mar 2023 16:38:45 -0800 Subject: [PATCH] More changes to fix building with older macOS SDKs --- src/video/cocoa/SDL_cocoaevents.m | 5 ++--- src/video/cocoa/SDL_cocoavideo.m | 13 ++++++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/video/cocoa/SDL_cocoaevents.m b/src/video/cocoa/SDL_cocoaevents.m index d84e708c9e..9ca124c33e 100644 --- a/src/video/cocoa/SDL_cocoaevents.m +++ b/src/video/cocoa/SDL_cocoaevents.m @@ -27,7 +27,6 @@ #ifndef MAC_OS_X_VERSION_10_12 #define NSEventTypeApplicationDefined NSApplicationDefined -typedef NSString *NSKeyValueChangeKey; #endif static SDL_Window *FindSDLWindowForNSWindow(NSWindow *win) @@ -132,7 +131,7 @@ static void Cocoa_DispatchEvent(NSEvent *theEvent) - (void)localeDidChange:(NSNotification *)notification; - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object - change:(NSDictionary *)change + change:(NSDictionary *)change context:(void *)context; @end @@ -280,7 +279,7 @@ static void Cocoa_DispatchEvent(NSEvent *theEvent) - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object - change:(NSDictionary *)change + change:(NSDictionary *)change context:(void *)context { SDL_SetSystemTheme(Cocoa_GetSystemTheme()); diff --git a/src/video/cocoa/SDL_cocoavideo.m b/src/video/cocoa/SDL_cocoavideo.m index 48df62e18a..f0a7b5162b 100644 --- a/src/video/cocoa/SDL_cocoavideo.m +++ b/src/video/cocoa/SDL_cocoavideo.m @@ -226,13 +226,16 @@ void Cocoa_VideoQuit(_THIS) /* This function assumes that it's called from within an autorelease pool */ SDL_SystemTheme Cocoa_GetSystemTheme(void) { - NSAppearance* appearance = [[NSApplication sharedApplication] effectiveAppearance]; +#if MAC_OS_X_VERSION_MAX_ALLOWED >= 101400 /* Added in the 10.14.0 SDK. */ + if ([[NSApplication sharedApplication] respondsToSelector:@selector(effectiveAppearance)]) { + NSAppearance* appearance = [[NSApplication sharedApplication] effectiveAppearance]; - if ([appearance.name containsString: @"Dark"]) { - return SDL_SYSTEM_THEME_DARK; - } else { - return SDL_SYSTEM_THEME_LIGHT; + if ([appearance.name containsString: @"Dark"]) { + return SDL_SYSTEM_THEME_DARK; + } } +#endif + return SDL_SYSTEM_THEME_LIGHT; } /* This function assumes that it's called from within an autorelease pool */