Window decorations: fixed broken window resizing on Linux multi-screen setups (issue #632)

This commit is contained in:
Karl Tauber
2023-01-02 19:54:05 +01:00
parent 2134c19c58
commit 4b844353ee
2 changed files with 10 additions and 6 deletions

View File

@@ -5,6 +5,8 @@ FlatLaf Change Log
#### Fixed bugs
- FlatLaf window decorations on Linux: Fixed broken window resizing on
multi-screen setups. (issue #632)
- IntelliJ Themes:
- Fixed default button hover background in "Solarized Light" theme. (issue
#628)

View File

@@ -606,9 +606,10 @@ debug*/
if( resizeDir == S_RESIZE_CURSOR || resizeDir == SW_RESIZE_CURSOR || resizeDir == SE_RESIZE_CURSOR ) {
newBounds.height = (yOnScreen + dragBottomOffset) - newBounds.y;
if( limitToParentBounds() ) {
int parentHeight = getParentBounds().height;
if( newBounds.y + newBounds.height > parentHeight )
newBounds.height = parentHeight - newBounds.y;
Rectangle parentBounds = getParentBounds();
int parentBottomY = parentBounds.y + parentBounds.height;
if( newBounds.y + newBounds.height > parentBottomY )
newBounds.height = parentBottomY - newBounds.y;
}
}
@@ -624,9 +625,10 @@ debug*/
if( resizeDir == E_RESIZE_CURSOR || resizeDir == NE_RESIZE_CURSOR || resizeDir == SE_RESIZE_CURSOR ) {
newBounds.width = (xOnScreen + dragRightOffset) - newBounds.x;
if( limitToParentBounds() ) {
int parentWidth = getParentBounds().width;
if( newBounds.x + newBounds.width > parentWidth )
newBounds.width = parentWidth - newBounds.x;
Rectangle parentBounds = getParentBounds();
int parentRightX = parentBounds.x + parentBounds.width;
if( newBounds.x + newBounds.width > parentRightX )
newBounds.width = parentRightX - newBounds.x;
}
}