From 55e7bb5cc5290004556654cd1a4b310229835883 Mon Sep 17 00:00:00 2001 From: kho 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76740 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/java/awt/Frame.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'libjava/java/awt/Frame.java') diff --git a/libjava/java/awt/Frame.java b/libjava/java/awt/Frame.java index 7a5c9d98f8e..c92585a6f6b 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(); +} + /*************************************************************************/ /** -- cgit v1.2.3