diff options
author | Serge Lysenko <sergii.lysenko@avid.com> | 2015-08-21 19:28:31 +0300 |
---|---|---|
committer | Serge Lysenko <sergii.lysenko@avid.com> | 2015-09-29 10:05:59 +0000 |
commit | 63949183f04ee953198e6544912404701151a98b (patch) | |
tree | e2297d63167c3799dff7a518bc41428b088b38bc /tests/auto/widgets/widgets/qmdisubwindow | |
parent | c359011dc53cf8c1c45dd86299b877c5e33ac740 (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.cpp | 22 |
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" |