If something had changed with the menu item before it had actually been
originally added to the native menu then this would crash when trying
to remove a null item from the native menu. This prevents that from
happening.
Change-Id: I8d78b5504759225364d5fd051a23c8d6dbd7d1eb
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
NSMenuItem *oldItem = [m_nativeMenu itemWithTag:(NSInteger) cocoaItem];
if (cocoaItem->sync() != oldItem) {
- // native item was changed for some reason
- if (!wasMerged) {
+ // native item was changed for some reason
+ if (!wasMerged && oldItem)
[m_nativeMenu removeItem:oldItem];
- }
QCocoaMenuItem* beforeItem = itemOrNull(m_menuItems.indexOf(cocoaItem) + 1);
insertNative(cocoaItem, beforeItem);