From e300e74f17fecbb6c2e81857e76ad73b90c4e0eb Mon Sep 17 00:00:00 2001 From: Kim Ho Date: Tue, 27 Jan 2004 19:29:57 +0000 Subject: 2004-01-27 Kim Ho * 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 --- libjava/java/awt/Menu.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'libjava/java/awt/Menu.java') diff --git a/libjava/java/awt/Menu.java b/libjava/java/awt/Menu.java index 6fdc22c..7fb2931 100644 --- a/libjava/java/awt/Menu.java +++ b/libjava/java/awt/Menu.java @@ -41,6 +41,7 @@ package java.awt; import java.awt.peer.MenuPeer; import java.io.Serializable; import java.util.Vector; +import java.util.Enumeration; /** * This class represents a pull down or tear off menu in Java's AWT. @@ -379,7 +380,7 @@ addNotify() { if (peer == null) peer = getToolkit().createMenu(this); - java.util.Enumeration e = items.elements(); + Enumeration e = items.elements(); while (e.hasMoreElements()) { MenuItem mi = (MenuItem)e.nextElement(); @@ -396,6 +397,12 @@ addNotify() public void removeNotify() { + Enumeration e = items.elements(); + while (e.hasMoreElements()) + { + MenuItem mi = (MenuItem) e.nextElement(); + mi.removeNotify(); + } super.removeNotify(); } -- cgit v1.1