From ef92cd8b452b12a61856304e57b621c3796447f4 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Thu, 12 Sep 2013 17:16:33 +0800 Subject: [PATCH] mac: Makes sure MainMenu.nib is alwasys loaded from Atom.framework. --- browser/atom_browser_main_parts_mac.mm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/browser/atom_browser_main_parts_mac.mm b/browser/atom_browser_main_parts_mac.mm index d518c0f..cf2b0c7 100644 --- a/browser/atom_browser_main_parts_mac.mm +++ b/browser/atom_browser_main_parts_mac.mm @@ -4,9 +4,11 @@ #include "browser/atom_browser_main_parts.h" -#import "base/mac/bundle_locations.h" +#include "base/files/file_path.h" +#import "base/mac/foundation_util.h" #import "browser/atom_application_mac.h" #import "browser/atom_application_delegate_mac.h" +#import "vendor/brightray/common/mac/main_application_bundle.h" namespace atom { @@ -17,10 +19,12 @@ void AtomBrowserMainParts::PreMainMessageLoopStart() { AtomApplicationDelegate* delegate = [AtomApplicationDelegate alloc]; [NSApp setDelegate:delegate]; - auto infoDictionary = base::mac::OuterBundle().infoDictionary; - - NSString *mainNibName = [infoDictionary objectForKey:@"NSMainNibFile"]; - auto mainNib = [[NSNib alloc] initWithNibNamed:mainNibName bundle:base::mac::FrameworkBundle()]; + base::FilePath frameworkPath = brightray::MainApplicationBundlePath() + .Append("Contents").Append("Frameworks").Append("Atom.framework"); + NSBundle* frameworkBundle = [NSBundle + bundleWithPath:base::mac::FilePathToNSString(frameworkPath)]; + NSNib* mainNib = [[NSNib alloc] initWithNibNamed:@"MainMenu" + bundle:frameworkBundle]; [mainNib instantiateWithOwner:application topLevelObjects:nil]; [mainNib release]; -- 2.7.4