diff options
Diffstat (limited to 'src/client/qwaylandwindow.cpp')
-rw-r--r-- | src/client/qwaylandwindow.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp index bb1d944c..abab795c 100644 --- a/src/client/qwaylandwindow.cpp +++ b/src/client/qwaylandwindow.cpp @@ -369,9 +369,15 @@ void QWaylandWindow::setGeometry_helper(const QRect &rect) { QSize minimum = windowMinimumSize(); QSize maximum = windowMaximumSize(); - QPlatformWindow::setGeometry(QRect(rect.x(), rect.y(), - qBound(minimum.width(), rect.width(), maximum.width()), - qBound(minimum.height(), rect.height(), maximum.height()))); + int width = windowGeometry().width(); + int height = windowGeometry().height(); + if (minimum.width() <= maximum.width() + && minimum.height() <= maximum.height()) { + width = qBound(minimum.width(), rect.width(), maximum.width()); + height = qBound(minimum.height(), rect.height(), maximum.height()); + } + + QPlatformWindow::setGeometry(QRect(rect.x(), rect.y(), width, height)); if (mViewport) updateViewport(); |