--- 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;
}
/**