changeset 10486:55cab2211ae9

8027157: [SwingNode] needs explicit expose for JWindow Reviewed-by: art, anthony
author ant
date Tue, 29 Oct 2013 16:35:20 +0400
parents 162c57b874d4
children bedc29a6d074
files src/windows/classes/sun/awt/windows/WComponentPeer.java src/windows/classes/sun/awt/windows/WLightweightFramePeer.java src/windows/classes/sun/awt/windows/WWindowPeer.java
diffstat 3 files changed, 15 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/windows/classes/sun/awt/windows/WComponentPeer.java	Fri Oct 25 10:39:13 2013 -0700
+++ b/src/windows/classes/sun/awt/windows/WComponentPeer.java	Tue Oct 29 16:35:20 2013 +0400
@@ -1108,4 +1108,8 @@
     }
 
     private native void setZOrder(long above);
+
+    public boolean isLightweightFramePeer() {
+        return false;
+    }
 }
--- a/src/windows/classes/sun/awt/windows/WLightweightFramePeer.java	Fri Oct 25 10:39:13 2013 -0700
+++ b/src/windows/classes/sun/awt/windows/WLightweightFramePeer.java	Tue Oct 29 16:35:20 2013 +0400
@@ -90,4 +90,8 @@
     public void updateCursorImmediately() {
         SwingAccessor.getJLightweightFrameAccessor().updateCursor((JLightweightFrame)getLwTarget());
     }
+
+    public boolean isLightweightFramePeer() {
+        return true;
+    }
 }
--- a/src/windows/classes/sun/awt/windows/WWindowPeer.java	Fri Oct 25 10:39:13 2013 -0700
+++ b/src/windows/classes/sun/awt/windows/WWindowPeer.java	Tue Oct 29 16:35:20 2013 +0400
@@ -252,6 +252,13 @@
                 updateWindow(true);
             }
         }
+
+        // See https://javafx-jira.kenai.com/browse/RT-32570
+        WComponentPeer owner = getNativeParent();
+        if (owner != null && owner.isLightweightFramePeer()) {
+            Rectangle b = getBounds();
+            handleExpose(0, 0, b.width, b.height);
+        }
     }
 
     // Synchronize the insets members (here & in helper) with actual window