# HG changeset patch # User ssadetsky # Date 1474616192 -10800 # Node ID ebc8d972cd3fadd4303d48420d2c4a6b7e8143fb # Parent ce5748c8192a3d9b6f40809efc2142be476447fa 8161910: [PIT] regression: HW/LW mixing seems broken on Unity Reviewed-by: azvegint diff -r ce5748c8192a -r ebc8d972cd3f jdk/src/java.desktop/unix/classes/sun/awt/X11/XDecoratedPeer.java --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDecoratedPeer.java Fri Sep 23 09:14:29 2016 +0300 +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDecoratedPeer.java Fri Sep 23 10:36:32 2016 +0300 @@ -325,7 +325,8 @@ if (!isEmbedded() && !isTargetUndecorated()) { lastKnownInsets.put(getClass(), in); } - if (!in.equals(dimensions.getInsets())) { + if (!in.equals(dimensions.getInsets()) || + !dimensions.isClientSizeSet()) { handleCorrectInsets(in); } insets_corrected = true; @@ -374,6 +375,9 @@ } else { /* reparented to WM frame, figure out our insets */ setReparented(true); insets_corrected = false; + if (XWM.getWMID() == XWM.UNITY_COMPIZ_WM) { + return; + } // Check if we have insets provided by the WM Insets correctWM = getWMSetInsets(null); @@ -405,7 +409,7 @@ } } - if (correctWM != null && XWM.getWMID() != XWM.UNITY_COMPIZ_WM) { + if (correctWM != null) { handleCorrectInsets(correctWM); } }