diff -r 259d6e4e0978 -r 2ac7e99f7f4a jdk/src/java.desktop/unix/classes/sun/awt/X11/XComponentPeer.java --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XComponentPeer.java Fri Nov 13 05:02:26 2015 -0800 +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XComponentPeer.java Fri Nov 13 18:36:14 2015 +0400 @@ -158,7 +158,9 @@ XComponentPeer newPeer = (XComponentPeer)newNativeParent; XToolkit.awtLock(); try { - XlibWrapper.XReparentWindow(XToolkit.getDisplay(), getWindow(), newPeer.getContentWindow(), x, y); + XlibWrapper.XReparentWindow(XToolkit.getDisplay(), + getWindow(), newPeer.getContentWindow(), + scaleUp(x), scaleUp(y)); parentWindow = newPeer; } finally { XToolkit.awtUnlock(); @@ -1394,6 +1396,12 @@ XToolkit.awtLock(); try { if (shape != null) { + + int scale = getScale(); + if (scale != 1) { + shape = shape.getScaledRegion(scale, scale); + } + XlibWrapper.SetRectangularShape( XToolkit.getDisplay(), getWindow(),