From 5a42f2901ff6300c47a9f905c5803d1139c6565d Mon Sep 17 00:00:00 2001 From: CeRiAl Date: Tue, 12 Jul 2011 00:47:02 +0200 Subject: MACOSX: Fix application menu i18n compilation for Mac OSX 10.4+ --- backends/platform/sdl/macosx/appMenu_osx.mm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'backends/platform') diff --git a/backends/platform/sdl/macosx/appMenu_osx.mm b/backends/platform/sdl/macosx/appMenu_osx.mm index e39815fbd9..930564313d 100755 --- a/backends/platform/sdl/macosx/appMenu_osx.mm +++ b/backends/platform/sdl/macosx/appMenu_osx.mm @@ -22,11 +22,21 @@ #if defined(MACOSX) +// Disable symbol overrides so that we can use system headers. +#define FORBIDDEN_SYMBOL_ALLOW_ALL + #include "backends/platform/sdl/macosx/appMenu_osx.h" #include "common/translation.h" #include +// Apple removed setAppleMenu from the header files in 10.4, +// but as the method still exists we declare it ourselves here. +// Yes, this works :) +@interface NSApplication(MissingFunction) +- (void)setAppleMenu:(NSMenu *)menu; +@end + void replaceApplicationMenuItems() { // Code mainly copied and adapted from SDLmain.m @@ -43,7 +53,7 @@ void replaceApplicationMenuItems() { appleMenu = [[NSMenu alloc] initWithTitle:@""]; // Get current encoding - NSStringEncoding *stringEncoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)[NSString stringWithCString:(TransMan.getCurrentCharset()).c_str() encoding:NSASCIIStringEncoding])); + NSStringEncoding stringEncoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)[NSString stringWithCString:(TransMan.getCurrentCharset()).c_str() encoding:NSASCIIStringEncoding])); // Add "About ScummVM" menu item [appleMenu addItemWithTitle:[NSString stringWithCString:_("About ScummVM") encoding:stringEncoding] action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""]; -- cgit v1.2.3