< prev index next >

src/java.desktop/share/classes/java/awt/MenuBar.java

Print this page

        

@@ -220,20 +220,20 @@
     public Menu add(Menu m) {
         synchronized (getTreeLock()) {
             if (m.parent != null) {
                 m.parent.remove(m);
             }
-            menus.addElement(m);
             m.parent = this;
 
             MenuBarPeer peer = (MenuBarPeer)this.peer;
             if (peer != null) {
                 if (m.peer == null) {
                     m.addNotify();
                 }
                 peer.addMenu(m);
             }
+            menus.addElement(m);
             return m;
         }
     }
 
     /**

@@ -246,13 +246,13 @@
         synchronized (getTreeLock()) {
             Menu m = getMenu(index);
             menus.removeElementAt(index);
             MenuBarPeer peer = (MenuBarPeer)this.peer;
             if (peer != null) {
+                peer.delMenu(index);
                 m.removeNotify();
                 m.parent = null;
-                peer.delMenu(index);
             }
             if (helpMenu == m) {
                 helpMenu = null;
                 m.isHelpMenu = false;
             }
< prev index next >