summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@digia.com>2012-09-28 17:04:01 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-10-01 15:48:08 +0200
commit65d4dea41abe04ecd60aa71dd4cdb3fb7b866f9a (patch)
tree9f125f7b46023a2a26948649e3da2661ffb2690e /tests
parent310031188c679377152eb65b8dc3f92d3799a339 (diff)
QXcbWindow: Don't recreate window when reparenting.
For consistency, this behavior has been kept across Qt versions... Just get rid of it. Also fixes native child widgets not being notified of the change of window handle (winId) when being reparented. Updated auto-test. Change-Id: I3616dc0f1c32a519d78a4846297d6d4a6e926fbf Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp51
1 files changed, 11 insertions, 40 deletions
diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
index 3e90b19ac7..855f7fcc49 100644
--- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
+++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
@@ -3734,16 +3734,13 @@ void tst_QWidget::winIdChangeEvent()
{
// Changing parent of a native widget
- // Should cause winId of child to change, on all platforms
QWidget parent1, parent2;
WinIdChangeWidget child(&parent1);
const WId winIdBefore = child.winId();
QCOMPARE(child.winIdChangeEventCount(), 1);
child.setParent(&parent2);
const WId winIdAfter = child.internalWinId();
- if (m_platform == QStringLiteral("windows"))
- QEXPECT_FAIL("", "QTBUG-26424", Continue);
- QVERIFY(winIdBefore != winIdAfter);
+ QCOMPARE(winIdBefore, winIdAfter);
QCOMPARE(child.winIdChangeEventCount(), 3);
// winId is set to zero during reparenting
QVERIFY(0 == child.m_winIdList[1]);
@@ -3783,9 +3780,7 @@ void tst_QWidget::winIdChangeEvent()
const Qt::WindowFlags flags = child.windowFlags();
child.setWindowFlags(flags | Qt::Window);
const WId winIdAfter = child.internalWinId();
- if (m_platform == QStringLiteral("windows"))
- QEXPECT_FAIL("", "QTBUG-26424", Continue);
- QVERIFY(winIdBefore != winIdAfter);
+ QCOMPARE(winIdBefore, winIdAfter);
QCOMPARE(child.winIdChangeEventCount(), 3);
// winId is set to zero during reparenting
QVERIFY(0 == child.m_winIdList[1]);
@@ -3806,61 +3801,37 @@ void tst_QWidget::persistentWinId()
WId winId2 = w2->winId();
WId winId3 = w3->winId();
- // reparenting should change the winId of the widget being reparented, but not of its children
+ // reparenting should preserve the winId of the widget being reparented and of its children
w1->setParent(0);
- if (m_platform == QStringLiteral("windows"))
- QEXPECT_FAIL("", "QTBUG-26424", Continue);
- QVERIFY(w1->winId() != winId1);
- winId1 = w1->winId();
+ QCOMPARE(w1->winId(), winId1);
QCOMPARE(w2->winId(), winId2);
QCOMPARE(w3->winId(), winId3);
w1->setParent(parent.data());
- if (m_platform == QStringLiteral("windows"))
- QEXPECT_FAIL("", "QTBUG-26424", Continue);
- QVERIFY(w1->winId() != winId1);
- winId1 = w1->winId();
+ QCOMPARE(w1->winId(), winId1);
QCOMPARE(w2->winId(), winId2);
QCOMPARE(w3->winId(), winId3);
w2->setParent(0);
- if (m_platform == QStringLiteral("windows"))
- QEXPECT_FAIL("", "QTBUG-26424", Continue);
- QVERIFY(w2->winId() != winId2);
- winId2 = w2->winId();
+ QCOMPARE(w2->winId(), winId2);
QCOMPARE(w3->winId(), winId3);
w2->setParent(parent.data());
- if (m_platform == QStringLiteral("windows"))
- QEXPECT_FAIL("", "QTBUG-26424", Continue);
- QVERIFY(w2->winId() != winId2);
- winId2 = w2->winId();
+ QCOMPARE(w2->winId(), winId2);
QCOMPARE(w3->winId(), winId3);
w2->setParent(w1);
- if (m_platform == QStringLiteral("windows"))
- QEXPECT_FAIL("", "QTBUG-26424", Continue);
- QVERIFY(w2->winId() != winId2);
- winId2 = w2->winId();
+ QCOMPARE(w2->winId(), winId2);
QCOMPARE(w3->winId(), winId3);
w3->setParent(0);
- if (m_platform == QStringLiteral("windows"))
- QEXPECT_FAIL("", "QTBUG-26424", Continue);
- QVERIFY(w3->winId() != winId3);
- winId3 = w3->winId();
+ QCOMPARE(w3->winId(), winId3);
w3->setParent(w1);
- if (m_platform == QStringLiteral("windows"))
- QEXPECT_FAIL("", "QTBUG-26424", Continue);
- QVERIFY(w3->winId() != winId3);
- winId3 = w3->winId();
+ QCOMPARE(w3->winId(), winId3);
w3->setParent(w2);
- if (m_platform == QStringLiteral("windows"))
- QEXPECT_FAIL("", "QTBUG-26424", Continue);
- QVERIFY(w3->winId() != winId3);
- winId3 = w3->winId();
+ QCOMPARE(w3->winId(), winId3);
}
void tst_QWidget::showNativeChild()