aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbackends/platform/sdl/macosx/appMenu_osx.mm12
1 files changed, 11 insertions, 1 deletions
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 <Cocoa/Cocoa.h>
+// 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:@""];