JBR-1509 Client area size is wrong in Borderless mode
Backport from JB JDK11
diff --git a/src/windows/native/sun/windows/awt_Frame.cpp b/src/windows/native/sun/windows/awt_Frame.cpp
index 1ba70f6..96daaa5 100644
--- a/src/windows/native/sun/windows/awt_Frame.cpp
+++ b/src/windows/native/sun/windows/awt_Frame.cpp
@@ -1790,18 +1790,21 @@
GetSysInsets(&insets, this);
RECT* rect = &lpncsp->rgrc[0];
- rect->left = rect->left + insets.left;
+ rect->left += insets.left;
+ rect->right -= insets.right;
+ rect->bottom -= insets.bottom;
+
if (::IsZoomed(GetHWnd())) {
- lpncsp->rgrc[0].top = lpncsp->rgrc[0].top + insets.bottom;
+ rect->top += insets.bottom;
+ // [moklev] Workaround for RIDER-27069, IDEA-211327
+ rect->right += this->ScaleUpX(1);
+ rect->bottom -= 1;
}
else {
// this makes the native caption go uncovered
// int yBorder = ::GetSystemMetrics(SM_CYBORDER);
- // lpncsp->rgrc[0].top = lpncsp->rgrc[0].top + yBorder;
+ // rect->top += yBorder;
}
- rect->right = rect->right - insets.right;
- rect->bottom = rect->bottom - insets.bottom;
-
retVal = 0L;
return mrConsume;
}