8161910: [PIT] regression: HW/LW mixing seems broken on Unity

Reviewed-by: azvegint
This commit is contained in:
Semyon Sadetsky 2016-09-23 10:36:32 +03:00
parent 7fa5f53815
commit 0ee1f71b81

View File

@ -325,7 +325,8 @@ abstract class XDecoratedPeer extends XWindowPeer {
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 @@ abstract class XDecoratedPeer extends XWindowPeer {
} 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 @@ abstract class XDecoratedPeer extends XWindowPeer {
}
}
if (correctWM != null && XWM.getWMID() != XWM.UNITY_COMPIZ_WM) {
if (correctWM != null) {
handleCorrectInsets(correctWM);
}
}