Gracefully handle lack of bundle on macOS

should fix https://github.com/minetest/minetest/issues/10170
This commit is contained in:
sfan5 2022-01-31 20:48:00 +01:00
parent 7d1dc8b2d5
commit fa2a7dc236

@ -553,7 +553,6 @@ CIrrDeviceMacOSX::CIrrDeviceMacOSX(const SIrrlichtCreationParameters& param)
IsActive(true), IsFullscreen(false), IsShiftDown(false), IsControlDown(false), IsResizable(false)
{
struct utsname name;
NSString *path;
#ifdef _DEBUG
setDebugName("CIrrDeviceMacOSX");
@ -572,6 +571,8 @@ CIrrDeviceMacOSX::CIrrDeviceMacOSX(const SIrrlichtCreationParameters& param)
// Create menu
NSString* bundleName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"];
if (bundleName == nil)
bundleName = @"Irrlicht";
NSMenu* mainMenu = [[[NSMenu alloc] initWithTitle:@"MainMenu"] autorelease];
NSMenu* menu = [[[NSMenu alloc] initWithTitle:bundleName] autorelease];
@ -585,11 +586,13 @@ CIrrDeviceMacOSX::CIrrDeviceMacOSX(const SIrrlichtCreationParameters& param)
[NSApp finishLaunching];
}
path = [[NSBundle mainBundle] bundlePath];
NSString *path = [[NSBundle mainBundle] bundlePath];
if (path != nil) {
path = [path stringByAppendingString:@"/Contents/Resources"];
chdir([path fileSystemRepresentation]);
[path release];
}
}
uname(&name);
Operator = new COSOperator(name.version);