summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qcocoamenuloader.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoamenuloader.mm')
-rw-r--r--src/plugins/platforms/cocoa/qcocoamenuloader.mm13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoamenuloader.mm b/src/plugins/platforms/cocoa/qcocoamenuloader.mm
index d4009cf63b..9bd6108d0d 100644
--- a/src/plugins/platforms/cocoa/qcocoamenuloader.mm
+++ b/src/plugins/platforms/cocoa/qcocoamenuloader.mm
@@ -272,18 +272,21 @@
- (NSMenuItem *)appSpecificMenuItem:(QCocoaMenuItem *)platformItem
{
+ // No reason to create the item if it already exists.
for (NSMenuItem *item in appMenu.itemArray)
if ([item isMemberOfClass:[QCocoaNSMenuItem class]]
- && static_cast<QCocoaNSMenuItem *>(item).platformMenuItem == platformItem) {
- // No reason to create the item if it already exists.
+ && static_cast<QCocoaNSMenuItem *>(item).platformMenuItem == platformItem)
return [[item retain] autorelease];
- }
// Create an App-Specific menu item, insert it into the menu and return
// it as an autorelease item.
- QCocoaNSMenuItem *item = [[QCocoaNSMenuItem alloc] initWithPlatformMenuItem:platformItem];
+ QCocoaNSMenuItem *item;
+ if (platformItem->isSeparator())
+ item = [[QCocoaNSMenuItem separatorItemWithPlatformMenuItem:platformItem] retain];
+ else
+ item = [[QCocoaNSMenuItem alloc] initWithPlatformMenuItem:platformItem];
- NSInteger location = [appMenu indexOfItem:lastAppSpecificItem];
+ const auto location = [appMenu indexOfItem:lastAppSpecificItem];
if (!lastAppSpecificItem.separatorItem)
[lastAppSpecificItem release];