diff options
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoamenuloader.mm')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoamenuloader.mm | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoamenuloader.mm b/src/plugins/platforms/cocoa/qcocoamenuloader.mm index 9b16999d48..22e90f8dc8 100644 --- a/src/plugins/platforms/cocoa/qcocoamenuloader.mm +++ b/src/plugins/platforms/cocoa/qcocoamenuloader.mm @@ -57,6 +57,16 @@ QT_FORWARD_DECLARE_CLASS(QString) @implementation QCocoaMenuLoader ++ (instancetype)sharedMenuLoader +{ + static QCocoaMenuLoader *shared = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + shared = [[self alloc] init]; + }); + return shared; +} + - (instancetype)init { if ((self = [super init])) { @@ -108,9 +118,9 @@ QT_FORWARD_DECLARE_CLASS(QString) // Services item and menu servicesItem = [[NSMenuItem alloc] init]; servicesItem.title = @"Services"; - NSApplication *app = [NSApplication sharedApplication]; - app.servicesMenu = [[[NSMenu alloc] initWithTitle:@"Services"] autorelease]; - servicesItem.submenu = app.servicesMenu; + NSMenu *servicesMenu = [[[NSMenu alloc] initWithTitle:@"Services"] autorelease]; + servicesItem.submenu = servicesMenu; + [NSApplication sharedApplication].servicesMenu = servicesMenu; [appMenu addItem:servicesItem]; [appMenu addItem:[NSMenuItem separatorItem]]; |