From 7a8516d296c40402bd64f29ad1800ebd98483a07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Camilla=20L=C3=B6wy?= Date: Wed, 1 Mar 2017 04:12:46 +0100 Subject: [PATCH] Cleanup --- src/cocoa_window.m | 47 ++++++++++++++++++++++------------------------ 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/src/cocoa_window.m b/src/cocoa_window.m index 5275a7a3..657852ab 100644 --- a/src/cocoa_window.m +++ b/src/cocoa_window.m @@ -826,48 +826,45 @@ static const NSRange kEmptyRange = { NSNotFound, 0 }; } @end -// Try to figure out what the calling application is called +// Set up the menu bar (manually) +// This is nasty, nasty stuff -- calls to undocumented semi-private APIs that +// could go away at any moment, lots of stuff that really should be +// localize(d|able), etc. Add a nib to save us this horror. // -static NSString* findAppName(void) +static void createMenuBar(void) { size_t i; - NSDictionary* infoDictionary = [[NSBundle mainBundle] infoDictionary]; - - // Keys to search for as potential application names - NSString* GLFWNameKeys[] = + NSString* appName = nil; + NSDictionary* bundleInfo = [[NSBundle mainBundle] infoDictionary]; + NSString* nameKeys[] = { @"CFBundleDisplayName", @"CFBundleName", @"CFBundleExecutable", }; - for (i = 0; i < sizeof(GLFWNameKeys) / sizeof(GLFWNameKeys[0]); i++) + // Try to figure out what the calling application is called + + for (i = 0; i < sizeof(nameKeys) / sizeof(nameKeys[0]); i++) { - id name = [infoDictionary objectForKey:GLFWNameKeys[i]]; + id name = [bundleInfo objectForKey:nameKeys[i]]; if (name && [name isKindOfClass:[NSString class]] && ![name isEqualToString:@""]) { - return name; + appName = name; + break; } } - char** progname = _NSGetProgname(); - if (progname && *progname) - return [NSString stringWithUTF8String:*progname]; - - // Really shouldn't get here - return @"GLFW Application"; -} - -// Set up the menu bar (manually) -// This is nasty, nasty stuff -- calls to undocumented semi-private APIs that -// could go away at any moment, lots of stuff that really should be -// localize(d|able), etc. Add a nib to save us this horror. -// -static void createMenuBar(void) -{ - NSString* appName = findAppName(); + if (!appName) + { + char** progname = _NSGetProgname(); + if (progname && *progname) + appName = [NSString stringWithUTF8String:*progname]; + else + appName = @"GLFW Application"; + } NSMenu* bar = [[NSMenu alloc] init]; [NSApp setMainMenu:bar];