aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/awt/Frame.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/awt/Frame.java')
-rw-r--r--libjava/java/awt/Frame.java19
1 files changed, 16 insertions, 3 deletions
diff --git a/libjava/java/awt/Frame.java b/libjava/java/awt/Frame.java
index 7a5c9d9..c92585a 100644
--- a/libjava/java/awt/Frame.java
+++ b/libjava/java/awt/Frame.java
@@ -341,11 +341,15 @@ getMenuBar()
public synchronized void
setMenuBar(MenuBar menuBar)
{
- this.menuBar = menuBar;
- if (menuBar != null)
- menuBar.addNotify();
if (peer != null)
+ {
+ if (this.menuBar != null)
+ this.menuBar.removeNotify();
+ if (menuBar != null)
+ menuBar.addNotify();
((FramePeer) peer).setMenuBar(menuBar);
+ }
+ this.menuBar = menuBar;
}
/*************************************************************************/
@@ -432,11 +436,20 @@ remove(MenuComponent menu)
public void
addNotify()
{
+ if (menuBar != null)
+ menuBar.addNotify();
if (peer == null)
peer = getToolkit ().createFrame (this);
super.addNotify();
}
+public void removeNotify()
+{
+ if (menuBar != null)
+ menuBar.removeNotify();
+ super.removeNotify();
+}
+
/*************************************************************************/
/**