diff options
Diffstat (limited to 'platform/macos')
-rw-r--r-- | platform/macos/dir_access_macos.mm | 7 | ||||
-rw-r--r-- | platform/macos/display_server_macos.mm | 2 | ||||
-rw-r--r-- | platform/macos/godot_application_delegate.mm | 3 |
3 files changed, 7 insertions, 5 deletions
diff --git a/platform/macos/dir_access_macos.mm b/platform/macos/dir_access_macos.mm index 66d81f2687..37f717c9de 100644 --- a/platform/macos/dir_access_macos.mm +++ b/platform/macos/dir_access_macos.mm @@ -41,9 +41,10 @@ String DirAccessMacOS::fix_unicode_name(const char *p_name) const { String fname; - NSString *nsstr = [[NSString stringWithUTF8String:p_name] precomposedStringWithCanonicalMapping]; - - fname.parse_utf8([nsstr UTF8String]); + if (p_name != nullptr) { + NSString *nsstr = [[NSString stringWithUTF8String:p_name] precomposedStringWithCanonicalMapping]; + fname.parse_utf8([nsstr UTF8String]); + } return fname; } diff --git a/platform/macos/display_server_macos.mm b/platform/macos/display_server_macos.mm index d8e546f571..b2014f2849 100644 --- a/platform/macos/display_server_macos.mm +++ b/platform/macos/display_server_macos.mm @@ -4905,7 +4905,7 @@ DisplayServerMacOS::~DisplayServerMacOS() { } // Destroy all status indicators. - for (HashMap<IndicatorID, IndicatorData>::Iterator E = indicators.begin(); E;) { + for (HashMap<IndicatorID, IndicatorData>::Iterator E = indicators.begin(); E; ++E) { [[NSStatusBar systemStatusBar] removeStatusItem:E->value.item]; } diff --git a/platform/macos/godot_application_delegate.mm b/platform/macos/godot_application_delegate.mm index 2e76d4aa97..b3759e66f5 100644 --- a/platform/macos/godot_application_delegate.mm +++ b/platform/macos/godot_application_delegate.mm @@ -125,7 +125,8 @@ - (void)applicationDidFinishLaunching:(NSNotification *)notice { NSString *nsappname = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"]; - NSString *nsbundleid_env = [NSString stringWithUTF8String:getenv("__CFBundleIdentifier")]; + const char *bundled_id = getenv("__CFBundleIdentifier"); + NSString *nsbundleid_env = [NSString stringWithUTF8String:(bundled_id != nullptr) ? bundled_id : ""]; NSString *nsbundleid = [[NSBundle mainBundle] bundleIdentifier]; if (nsappname == nil || isatty(STDOUT_FILENO) || isatty(STDIN_FILENO) || isatty(STDERR_FILENO) || ![nsbundleid isEqualToString:nsbundleid_env]) { // If the executable is started from terminal or is not bundled, macOS WindowServer won't register and activate app window correctly (menu and title bar are grayed out and input ignored). |