diff options
author | Kim Ho <kho@redhat.com> | 2004-01-27 19:29:57 +0000 |
---|---|---|
committer | Kim Ho <kho@gcc.gnu.org> | 2004-01-27 19:29:57 +0000 |
commit | e300e74f17fecbb6c2e81857e76ad73b90c4e0eb (patch) | |
tree | a3afb43550d8b4af2eb0c9d58281277ebf3e398d /libjava/java/awt/Frame.java | |
parent | 69a45040007b26fada08e77f7b6716ced9fbe2ab (diff) | |
download | gcc-e300e74f17fecbb6c2e81857e76ad73b90c4e0eb.zip gcc-e300e74f17fecbb6c2e81857e76ad73b90c4e0eb.tar.gz gcc-e300e74f17fecbb6c2e81857e76ad73b90c4e0eb.tar.bz2 |
2004-01-27 Kim Ho <kho@redhat.com>
* gnu/java/awt/peer/gtk/GtkFramePeer.java
(removeMenuBarPeer): Remove MenuBarPeer argument.
* gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java
(dispose): Call native method.
* java/awt/Frame.java (setMenuBar): Create and remove
MenuBar peers only if the Frame has a peer.
(addNotify): Create the MenuBar peer if one exists.
(removeNotify): Remove MenuBar peer if one exists.
* java/awt/Menu.java: Fix imports.
(addNotify): Don't use full class name.
(removeNotify): Call removeNotify on all children.
* java/awt/MenuBar.java (removeNotify): Call
removeNotify on all children.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
(removeMenuBarPeer): Remove MenuBarPeer argument.
Iterate through children to find the Frame's MenuBar.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.c
New file.
(dispose): Remove references to the MenuComponent.
From-SVN: r76740
Diffstat (limited to 'libjava/java/awt/Frame.java')
-rw-r--r-- | libjava/java/awt/Frame.java | 19 |
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(); +} + /*************************************************************************/ /** |