summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/widgets/qmdisubwindow
diff options
context:
space:
mode:
authorSerge Lysenko <sergii.lysenko@avid.com>2015-08-21 19:28:31 +0300
committerSerge Lysenko <sergii.lysenko@avid.com>2015-09-29 10:05:59 +0000
commit63949183f04ee953198e6544912404701151a98b (patch)
treee2297d63167c3799dff7a518bc41428b088b38bc /tests/auto/widgets/widgets/qmdisubwindow
parentc359011dc53cf8c1c45dd86299b877c5e33ac740 (diff)
Avoid unnecessary setParent(0) in QMdiSubWindow::removeBaseWidget()
QMdiSubWindow should not reset parent of base widget if it has been already changed before. Task-number: QTBUG-47993 Change-Id: I43e3a28481e9ba3026a93850a8cc1246a359852a Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'tests/auto/widgets/widgets/qmdisubwindow')
-rw-r--r--tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp b/tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp
index a6caa3d020..acdf5b00e2 100644
--- a/tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp
+++ b/tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp
@@ -201,6 +201,7 @@ private slots:
void task_226929();
void styleChange();
void testFullScreenState();
+ void testRemoveBaseWidget();
};
void tst_QMdiSubWindow::initTestCase()
@@ -2064,6 +2065,27 @@ void tst_QMdiSubWindow::testFullScreenState()
QCOMPARE(subWindow->size(), QSize(300, 300));
}
+void tst_QMdiSubWindow::testRemoveBaseWidget()
+{
+ QMdiArea mdiArea;
+ mdiArea.show();
+
+ QWidget *widget1 = new QWidget;
+ mdiArea.addSubWindow(widget1);
+
+ QWidget *widget2 = new QWidget;
+ mdiArea.addSubWindow(widget2);
+
+ mdiArea.removeSubWindow(widget1);
+ QVERIFY(!widget1->parent());
+
+ widget2->setParent(widget1);
+ mdiArea.removeSubWindow(widget2);
+ QCOMPARE(widget2->parent(), widget1);
+
+ delete widget1;
+}
+
QTEST_MAIN(tst_QMdiSubWindow)
#include "tst_qmdisubwindow.moc"