summaryrefslogtreecommitdiff
path: root/src/client/qwaylandwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/qwaylandwindow.cpp')
-rw-r--r--src/client/qwaylandwindow.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
index 7634aedd..4ca2d8e6 100644
--- a/src/client/qwaylandwindow.cpp
+++ b/src/client/qwaylandwindow.cpp
@@ -394,9 +394,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();