summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qcocoansmenu.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoansmenu.mm')
-rw-r--r--src/plugins/platforms/cocoa/qcocoansmenu.mm13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoansmenu.mm b/src/plugins/platforms/cocoa/qcocoansmenu.mm
index 99c56f9191..c082158313 100644
--- a/src/plugins/platforms/cocoa/qcocoansmenu.mm
+++ b/src/plugins/platforms/cocoa/qcocoansmenu.mm
@@ -97,6 +97,19 @@ static NSString *qt_mac_removePrivateUnicode(NSString* string)
QPointer<QCocoaMenuItem> _platformMenuItem;
}
++ (instancetype)separatorItemWithPlatformMenuItem:(QCocoaMenuItem *)menuItem
+{
+ // Safe because +[NSMenuItem separatorItem] invokes [[self alloc] init]
+ auto *item = static_cast<QCocoaNSMenuItem *>([self separatorItem]);
+ Q_ASSERT_X([item isMemberOfClass:[QCocoaNSMenuItem class]],
+ qPrintable(__FUNCTION__),
+ "Did +[NSMenuItem separatorItem] not invoke [[self alloc] init]?");
+ if (item)
+ item.platformMenuItem = menuItem;
+
+ return item;
+}
+
- (instancetype)initWithPlatformMenuItem:(QCocoaMenuItem *)menuItem
{
if ((self = [super initWithTitle:@"" action:nil keyEquivalent:@""])) {