I added some repaints to the DefaultDesktopManager. This was necessary
because otherwise an InternalFrame is staying on the screen when
iconifying it, or the icon is staying on the screen when deiconifying
it.

2006-03-16  Roman Kennke  <[EMAIL PROTECTED]>

        * javax/swing/DefaultDesktopManager.java
        (iconifyFrame): Repaint after removing the frame.
        (removeIconFor): Repaint after removing the icon.

/Roman

-- 
“Improvement makes straight roads, but the crooked roads, without
Improvement, are roads of Genius.” - William Blake
Index: javax/swing/DefaultDesktopManager.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/DefaultDesktopManager.java,v
retrieving revision 1.15
diff -u -r1.15 DefaultDesktopManager.java
--- javax/swing/DefaultDesktopManager.java	19 Oct 2005 15:45:03 -0000	1.15
+++ javax/swing/DefaultDesktopManager.java	16 Mar 2006 13:54:59 -0000
@@ -244,7 +244,9 @@
             c.add(icon);
             icon.setVisible(true);
           }
+        Rectangle b = frame.getBounds();
         c.remove(frame);
+        c.repaint(b.x, b.y, b.width, b.height);
       }
   }
 
@@ -501,7 +503,11 @@
     JDesktopIcon icon = frame.getDesktopIcon();
     Container c = icon.getParent();
     if (c != null && icon != null)
-      c.remove(icon);
+      {
+        Rectangle b = icon.getBounds();
+        c.remove(icon);
+        c.repaint(b.x, b.y, b.width, b.height);
+      }
   }
 
   /**

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil

Reply via email to