diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-05-29 01:00:09 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-05-29 01:00:09 +0200 |
commit | 875731368af013568bb24a6cda7a2836c723dc82 (patch) | |
tree | 993d494f25151c1290ea9809e978a096b7431f9b /tests/auto/corelib/itemmodels | |
parent | 2843c58e5f0447e553d0f29614177b3b1d1884dc (diff) | |
parent | 42e4a6531d89601499e5d3d419216a4bbacf6670 (diff) |
Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: I8d8b03ea46c537b091b72dc7b68aa6aa3a627ba6
Diffstat (limited to 'tests/auto/corelib/itemmodels')
-rw-r--r-- | tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp b/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp index 8af6347f89..9bc558580b 100644 --- a/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp +++ b/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp @@ -4650,15 +4650,25 @@ void tst_QSortFilterProxyModel::checkSetNewModel() QTreeView tv; StepTreeModel model1; model1.setDepth(4); - StepTreeModel model2; - model2.setDepth(4); QSortFilterProxyModel proxy; proxy.setSourceModel(&model1); tv.setModel(&proxy); tv.show(); - tv.expandAll(); // create persistent indexes - proxy.setSourceModel(&model2); + QVERIFY(QTest::qWaitForWindowExposed(&tv)); + tv.expandAll(); + { + StepTreeModel model2; + model2.setDepth(4); + proxy.setSourceModel(&model2); + tv.expandAll(); + proxy.setSourceModel(&model1); + tv.expandAll(); + // the destruction of model2 here caused a proxy model reset due to + // missing disconnect in setSourceModel() + } + // handle repaint events, will assert when qsortfilterproxymodel is in wrong state + QCoreApplication::processEvents(); } QTEST_MAIN(tst_QSortFilterProxyModel) |