jdk/src/share/classes/java/awt/Component.java
changeset 2805 9f18d7e66042
parent 2647 ea80a312972e
child 3084 67ca55732362
--- a/jdk/src/share/classes/java/awt/Component.java	Tue May 19 12:15:18 2009 +0400
+++ b/jdk/src/share/classes/java/awt/Component.java	Tue May 19 14:14:31 2009 +0400
@@ -1038,13 +1038,23 @@
 
     void setGraphicsConfiguration(GraphicsConfiguration gc) {
         synchronized(getTreeLock()) {
-            graphicsConfig = gc;
-
-            ComponentPeer peer = getPeer();
-            if (peer != null) {
-                peer.updateGraphicsData(gc);
-            }
-        }
+            if (updateGraphicsData(gc)) {
+                removeNotify();
+                addNotify();
+            }
+        }
+    }
+
+    boolean updateGraphicsData(GraphicsConfiguration gc) {
+        checkTreeLock();
+
+        graphicsConfig = gc;
+
+        ComponentPeer peer = getPeer();
+        if (peer != null) {
+            return peer.updateGraphicsData(gc);
+        }
+        return false;
     }
 
     /**