diff --git a/AppKit/CPMenu/CPMenu.j b/AppKit/CPMenu/CPMenu.j index cf9eb933a..8b8c350a3 100644 --- a/AppKit/CPMenu/CPMenu.j +++ b/AppKit/CPMenu/CPMenu.j @@ -622,11 +622,11 @@ var _CPMenuBarVisible = NO, var validator = [CPApp targetForAction:[item action] to:[item target] from:item]; if (!validator || ![validator respondsToSelector:[item action]]) - [item _setEnabled:NO]; + [item setEnabled:NO]; else if ([validator respondsToSelector:@selector(validateMenuItem:)]) - [item _setEnabled:[validator validateMenuItem:item]]; + [item setEnabled:[validator validateMenuItem:item]]; else if ([validator respondsToSelector:@selector(validateUserInterfaceItem:)]) - [item _setEnabled:[validator validateUserInterfaceItem:item]]; + [item setEnabled:[validator validateUserInterfaceItem:item]]; } [[_menuWindow _menuView] tile]; diff --git a/AppKit/CPMenu/_CPMenuManager.j b/AppKit/CPMenu/_CPMenuManager.j index 7b1f2073a..abe9c15ee 100644 --- a/AppKit/CPMenu/_CPMenuManager.j +++ b/AppKit/CPMenu/_CPMenuManager.j @@ -230,7 +230,14 @@ var STICKY_TIME_INTERVAL = 500, else if (type === CPLeftMouseUp || type === CPRightMouseUp) { if (_hasMouseGoneUpAfterStartedTracking) + { + // Don't close the menu if the current item has a submenu + // and did not override it's default action + if ([activeItem action] === @selector(submenuAction:)) + return; + [trackingMenu cancelTracking]; + } else _hasMouseGoneUpAfterStartedTracking = YES; } diff --git a/AppKit/CPMenuItem/CPMenuItem.j b/AppKit/CPMenuItem/CPMenuItem.j index e8e39a15f..6d70ba1b4 100644 --- a/AppKit/CPMenuItem/CPMenuItem.j +++ b/AppKit/CPMenuItem/CPMenuItem.j @@ -148,14 +148,6 @@ var CPMenuItemStringRepresentationDictionary = [CPDictionary dictionary]; @param isEnabled \c YES enables the item. \c NO disables it. */ - (void)setEnabled:(BOOL)isEnabled -{ - if ([_menu autoenablesItems]) - return; - - [self _setEnabled:isEnabled]; -} - -- (void)_setEnabled:(BOOL)isEnabled { if (_isEnabled === isEnabled) return; diff --git a/Tools/xcodecapp-cocoa/Jakefile b/Tools/xcodecapp-cocoa/Jakefile index 9c1309249..eaca7ce98 100644 --- a/Tools/xcodecapp-cocoa/Jakefile +++ b/Tools/xcodecapp-cocoa/Jakefile @@ -34,7 +34,7 @@ task ("build", function() } else { - print("Building "+xcodecapp-cocoa+" requires Xcode."); + print("Building " + applicationName + " requires Xcode."); } });