Index: javax/swing/MenuSelectionManager.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/swing/MenuSelectionManager.java,v retrieving revision 1.10 diff -u -r1.10 MenuSelectionManager.java --- javax/swing/MenuSelectionManager.java 2 Jul 2005 20:32:49 -0000 1.10 +++ javax/swing/MenuSelectionManager.java 29 Jul 2005 19:02:39 -0000 @@ -211,17 +211,18 @@ public boolean isComponentPartOfCurrentMenu(Component c) { MenuElement[] subElements; - for (int i = 0; i < selectedPath.size(); i++) + for (int i = 0; i < selectedPath.size(); i++) { - subElements = ((MenuElement) selectedPath.get(i)).getSubElements(); - for (int j = 0; j < subElements.length; j++) - { - if ((subElements[j].getComponent()).equals(c)) - return true; - } + subElements = ((MenuElement) selectedPath.get(i)).getSubElements(); + for (int j = 0; j < subElements.length; j++) + { + MenuElement me = subElements[j]; + if (me != null && (me.getComponent()).equals(c)) + return true; + } } - return false; + return false; } /** Index: javax/swing/plaf/basic/BasicMenuUI.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/basic/BasicMenuUI.java,v retrieving revision 1.13 diff -u -r1.13 BasicMenuUI.java --- javax/swing/plaf/basic/BasicMenuUI.java 18 Jul 2005 18:55:57 -0000 1.13 +++ javax/swing/plaf/basic/BasicMenuUI.java 29 Jul 2005 19:02:39 -0000 @@ -301,14 +301,17 @@ private boolean popupVisible() { - JMenuBar mb = (JMenuBar) ((JMenu)menuItem).getParent(); + JMenuBar mb = (JMenuBar) ((JMenu) menuItem).getParent(); // check if mb.isSelected because if no menus are selected // we don't have to look through the list for popup menus if (!mb.isSelected()) return false; - for (int i=0;i