2005-09-16  Lillian Angel  <[EMAIL PROTECTED]>

        Fixes Bug #22610
        * java/awt/Container.java
        (remove): Removed component listeners from the component
        being removed. This was a problem if that same component
        that was removed was added to a new component.

Index: java/awt/Container.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/awt/Container.java,v
retrieving revision 1.64
diff -u -r1.64 Container.java
--- java/awt/Container.java	12 Sep 2005 14:19:26 -0000	1.64
+++ java/awt/Container.java	16 Sep 2005 14:24:47 -0000
@@ -38,6 +38,7 @@
 
 package java.awt;
 
+import java.awt.event.ComponentListener;
 import java.awt.event.ContainerEvent;
 import java.awt.event.ContainerListener;
 import java.awt.event.KeyEvent;
@@ -419,6 +420,10 @@
       {
         Component r = component[index];
 
+        ComponentListener[] list = r.getComponentListeners();
+        for (int j = 0; j < list.length; j++)
+              r.removeComponentListener(list[j]);
+        
         r.removeNotify();
 
         System.arraycopy(component, index + 1, component, index,
_______________________________________________
Classpath-patches mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/classpath-patches

Reply via email to