summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-05-29 01:00:09 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-05-29 01:00:09 +0200
commit875731368af013568bb24a6cda7a2836c723dc82 (patch)
tree993d494f25151c1290ea9809e978a096b7431f9b /tests
parent2843c58e5f0447e553d0f29614177b3b1d1884dc (diff)
parent42e4a6531d89601499e5d3d419216a4bbacf6670 (diff)
Merge remote-tracking branch 'origin/5.11' into dev
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp18
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)