diff options
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/awt/Frame.java | 4 | ||||
-rw-r--r-- | libjava/java/awt/Menu.java | 13 | ||||
-rw-r--r-- | libjava/java/awt/MenuBar.java | 8 | ||||
-rw-r--r-- | libjava/java/awt/MenuItem.java | 4 |
4 files changed, 22 insertions, 7 deletions
diff --git a/libjava/java/awt/Frame.java b/libjava/java/awt/Frame.java index b6a3427..7a5c9d9 100644 --- a/libjava/java/awt/Frame.java +++ b/libjava/java/awt/Frame.java @@ -1,5 +1,5 @@ /* Frame.java -- AWT toplevel window - Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2002, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -342,6 +342,8 @@ public synchronized void setMenuBar(MenuBar menuBar) { this.menuBar = menuBar; + if (menuBar != null) + menuBar.addNotify(); if (peer != null) ((FramePeer) peer).setMenuBar(menuBar); } diff --git a/libjava/java/awt/Menu.java b/libjava/java/awt/Menu.java index 52244b9..6fdc22c 100644 --- a/libjava/java/awt/Menu.java +++ b/libjava/java/awt/Menu.java @@ -1,5 +1,5 @@ /* Menu.java -- A Java AWT Menu - Copyright (C) 1999, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -294,7 +294,8 @@ insert(String label, int index) public void addSeparator() { - add(separator); + if (peer != null) + ((MenuPeer) peer).addSeparator(); } /*************************************************************************/ @@ -376,8 +377,14 @@ removeAll() public void addNotify() { - if (peer != null) + if (peer == null) peer = getToolkit().createMenu(this); + java.util.Enumeration e = items.elements(); + while (e.hasMoreElements()) + { + MenuItem mi = (MenuItem)e.nextElement(); + mi.addNotify(); + } super.addNotify (); } diff --git a/libjava/java/awt/MenuBar.java b/libjava/java/awt/MenuBar.java index b9ddef9..af5c912 100644 --- a/libjava/java/awt/MenuBar.java +++ b/libjava/java/awt/MenuBar.java @@ -1,5 +1,5 @@ /* MenuBar.java -- An AWT menu bar class - Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -263,6 +263,12 @@ addNotify() { if (getPeer() == null) setPeer((MenuComponentPeer)getToolkit().createMenuBar(this)); + Enumeration e = menus.elements(); + while (e.hasMoreElements()) + { + Menu mi = (Menu)e.nextElement(); + mi.addNotify(); + } } /*************************************************************************/ diff --git a/libjava/java/awt/MenuItem.java b/libjava/java/awt/MenuItem.java index 02c4d0d..bea3b4f 100644 --- a/libjava/java/awt/MenuItem.java +++ b/libjava/java/awt/MenuItem.java @@ -1,5 +1,5 @@ /* MenuItem.java -- An item in a menu - Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -361,7 +361,7 @@ disableEvents(long events) public void addNotify() { - if (peer != null) + if (peer == null) peer = getToolkit ().createMenuItem (this); } |