diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2013-07-16 13:11:06 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-07-16 16:28:11 +0200 |
commit | aab50ad061dfaff7a0a30a4164163fdd41571270 (patch) | |
tree | 8d8f9d10a7707e72e5e2815090ae05281ba136d6 /tests/auto/gui | |
parent | e89547fff44b5558039c04397d7dc8a03cd504e3 (diff) |
QGuiApplicationPrivate::updateBlockedStatus(): Recurse over children.
Task-number: QTBUG-32242
Change-Id: Ia43257a998507b9a367f41dc2395ab92cc89a118
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Diffstat (limited to 'tests/auto/gui')
-rw-r--r-- | tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp b/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp index ed07b3fab5..29f198f1ba 100644 --- a/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp +++ b/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp @@ -372,8 +372,8 @@ public: int leaves; int enters; - inline BlockableWindow() - : QWindow(), blocked(false), leaves(0), enters(0) {} + inline explicit BlockableWindow(QWindow *parent = 0) + : QWindow(parent), blocked(false), leaves(0), enters(0) {} bool event(QEvent *e) { @@ -416,6 +416,8 @@ void tst_QGuiApplication::modalWindow() window1->setTitle(QStringLiteral("window1")); window1->resize(windowSize, windowSize); window1->setFramePosition(QPoint(x, y)); + BlockableWindow *childWindow1 = new BlockableWindow(window1.data()); + childWindow1->resize(windowSize / 2, windowSize / 2); x += spacing + windowSize; QScopedPointer<BlockableWindow> window2(new BlockableWindow); @@ -458,6 +460,7 @@ void tst_QGuiApplication::modalWindow() QVERIFY(QTest::qWaitForWindowExposed(window2.data())); QCOMPARE(app.modalWindow(), static_cast<QWindow *>(0)); QCOMPARE(window1->blocked, 0); + QCOMPARE(childWindow1->blocked, 0); QCOMPARE(window2->blocked, 0); QCOMPARE(windowModalWindow1->blocked, 0); QCOMPARE(windowModalWindow2->blocked, 0); @@ -473,6 +476,7 @@ void tst_QGuiApplication::modalWindow() applicationModalWindow1->show(); QCOMPARE(app.modalWindow(), applicationModalWindow1.data()); QCOMPARE(window1->blocked, 1); + QCOMPARE(childWindow1->blocked, 1); // QTBUG-32242, blocked status needs to be set on children as well. QCOMPARE(window2->blocked, 1); QCOMPARE(windowModalWindow1->blocked, 1); QCOMPARE(windowModalWindow2->blocked, 1); @@ -500,6 +504,7 @@ void tst_QGuiApplication::modalWindow() applicationModalWindow1->hide(); QCOMPARE(app.modalWindow(), static_cast<QWindow *>(0)); QCOMPARE(window1->blocked, 0); + QCOMPARE(childWindow1->blocked, 0); // QTBUG-32242, blocked status needs to be set on children as well. QCOMPARE(window2->blocked, 0); QCOMPARE(windowModalWindow1->blocked, 0); QCOMPARE(windowModalWindow2->blocked, 0); |