From 1b1f2b265ebb25df8416293c6692fe82ab08e465 Mon Sep 17 00:00:00 2001 From: David Faure Date: Mon, 29 Mar 2021 18:34:43 +0200 Subject: QAbstractItemModelTester: fix false positive when model has zero columns Regression introduced by me in commit 72e0d699cec09458ca9325035d477d4899e8e47b Fixes: QTBUG-92220 Change-Id: Ic7dd4eda0a1993f9763933882baf928bfc83b08b Reviewed-by: Luca Beldi Reviewed-by: Alexandru Croitor (cherry picked from commit b4aac2af19690917553f93660e3ad760fc15d0b9) Reviewed-by: Qt Cherry-pick Bot --- src/testlib/qabstractitemmodeltester.cpp | 2 +- .../qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/testlib/qabstractitemmodeltester.cpp b/src/testlib/qabstractitemmodeltester.cpp index 42bac5afb2..165baedfbe 100644 --- a/src/testlib/qabstractitemmodeltester.cpp +++ b/src/testlib/qabstractitemmodeltester.cpp @@ -439,7 +439,7 @@ void QAbstractItemModelTesterPrivate::parent() // when asked for the parent of an invalid index. MODELTESTER_VERIFY(!model->parent(QModelIndex()).isValid()); - if (model->rowCount() == 0) + if (model->rowCount() == 0 || model->columnCount() == 0) return; // Column 0 | Column 1 | diff --git a/tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp b/tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp index de461dd293..bc96cab64b 100644 --- a/tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp +++ b/tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp @@ -41,6 +41,7 @@ private slots: void stringListModel(); void treeWidgetModel(); void standardItemModel(); + void standardItemModelZeroColumns(); void testInsertThroughProxy(); void moveSourceItems(); void testResetThroughProxy(); @@ -105,6 +106,15 @@ void tst_QAbstractItemModelTester::standardItemModel() model.insertColumns(0, 5, model.index(1, 3)); } +void tst_QAbstractItemModelTester::standardItemModelZeroColumns() // QTBUG-92220 +{ + QStandardItemModel model; + + QAbstractItemModelTester t1(&model); + model.insertRows(0, 5); + model.removeRows(0, 5); +} + void tst_QAbstractItemModelTester::testInsertThroughProxy() { DynamicTreeModel *model = new DynamicTreeModel(this); -- cgit v1.2.3