--- MacOSX/utils_macosx.mm 2022-04-12 19:47:00.000000000 +0800 +++ MacOSX/utils_macosx.mm 2026-06-01 01:59:50.000000000 +0800 @@ -21,6 +21,8 @@ #include "utils_macosx.h" #include "sysdeps.h" +#include + // define _UINT64 to avoid a conflict with a Security framework header #define _UINT64 #include @@ -40,14 +42,18 @@ #if SDL_VERSION_ATLEAST(2,0,0) void disable_SDL2_macosx_menu_bar_keyboard_shortcuts() { - for (NSMenuItem * menu_item in [NSApp mainMenu].itemArray) { - if (menu_item.hasSubmenu) { - for (NSMenuItem * sub_item in menu_item.submenu.itemArray) { + NSArray *menuItems = [[NSApp mainMenu] itemArray]; + for (NSUInteger i = 0; i < [menuItems count]; i++) { + NSMenuItem *menu_item = [menuItems objectAtIndex:i]; + if ([menu_item hasSubmenu]) { + NSArray *subMenuItems = [[menu_item submenu] itemArray]; + for (NSUInteger j = 0; j < [subMenuItems count]; j++) { + NSMenuItem *sub_item = [subMenuItems objectAtIndex:j]; sub_item.keyEquivalent = @""; sub_item.keyEquivalentModifierMask = 0; } } - if ([menu_item.title isEqualToString:@"View"]) { + if ([[menu_item title] isEqualToString:@"View"]) { [[NSApp mainMenu] removeItem:menu_item]; break; } @@ -66,8 +72,15 @@ return false; } +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 101200 const NSWindowStyleMask styleMask = [wmInfo.info.cocoa.window styleMask]; return (styleMask & NSWindowStyleMaskFullScreen) != 0; +#elif MAC_OS_X_VERSION_MIN_REQUIRED >= 1070 + const NSUInteger styleMask = [wmInfo.info.cocoa.window styleMask]; + return (styleMask & NSFullScreenWindowMask) != 0; +#else + return false; +#endif } #endif