jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaMenuUI.java
changeset 29515 b56181e8ad3c
parent 25859 3317bb8137f4
equal deleted inserted replaced
29514:973914c573fc 29515:b56181e8ad3c
   146             final MenuSelectionManager manager = MenuSelectionManager.defaultManager();
   146             final MenuSelectionManager manager = MenuSelectionManager.defaultManager();
   147             final MenuElement selectedPath[] = manager.getSelectedPath();
   147             final MenuElement selectedPath[] = manager.getSelectedPath();
   148 
   148 
   149             // In Aqua, we always have a menu delay, regardless of where the menu is.
   149             // In Aqua, we always have a menu delay, regardless of where the menu is.
   150             if (!(selectedPath.length > 0 && selectedPath[selectedPath.length - 1] == menu.getPopupMenu())) {
   150             if (!(selectedPath.length > 0 && selectedPath[selectedPath.length - 1] == menu.getPopupMenu())) {
   151                 if (menu.getDelay() == 0) {
   151                 // the condition below prevents from activating menu in other frame
   152                     appendPath(getPath(), menu.getPopupMenu());
   152                 if (!menu.isTopLevelMenu() || (selectedPath.length > 0 &&
   153                 } else {
   153                         selectedPath[0] == menu.getParent())) {
   154                     manager.setSelectedPath(getPath());
   154                     if (menu.getDelay() == 0) {
   155                     setupPostTimer(menu);
   155                         appendPath(getPath(), menu.getPopupMenu());
       
   156                     } else {
       
   157                         manager.setSelectedPath(getPath());
       
   158                         setupPostTimer(menu);
       
   159                     }
   156                 }
   160                 }
   157             }
   161             }
   158         }
   162         }
   159     }
   163     }
   160 }
   164 }