From d1320d78c6653320e33564c1fd64c14b2dd24cee Mon Sep 17 00:00:00 2001
From: Shawn Rutledge <shawn.rutledge@digia.com>
Date: Wed, 14 May 2014 13:48:17 +0200
Subject: [PATCH] Dialogs: avoid setting invalid geometry

QRect::setX() and setY() can change the width and height, even to a
negative value, which will make the dialog's intended geometry invalid.
The intention was that QQuickAbstractDialog::setX() and setY() should
move the window, so it should be done with QRect::moveLeft and moveTop.

Task-number: QTBUG-38898
Change-Id: I59104395ed39b09f6b7a99eb177820edb5e46cf6
Reviewed-by: Liang Qi <liang.qi@digia.com>
---
 src/dialogs/qquickabstractdialog.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/dialogs/qquickabstractdialog.cpp b/src/dialogs/qquickabstractdialog.cpp
index 005d10157..847fb6971 100644
--- a/src/dialogs/qquickabstractdialog.cpp
+++ b/src/dialogs/qquickabstractdialog.cpp
@@ -295,7 +295,7 @@ int QQuickAbstractDialog::height() const
 void QQuickAbstractDialog::setX(int arg)
 {
     m_hasAspiredPosition = true;
-    m_sizeAspiration.setX(arg);
+    m_sizeAspiration.moveLeft(arg);
     if (helper()) {
         // TODO
     } else if (m_dialogWindow) {
@@ -310,7 +310,7 @@ void QQuickAbstractDialog::setX(int arg)
 void QQuickAbstractDialog::setY(int arg)
 {
     m_hasAspiredPosition = true;
-    m_sizeAspiration.setY(arg);
+    m_sizeAspiration.moveTop(arg);
     if (helper()) {
         // TODO
     } else if (m_dialogWindow) {
-- 
GitLab