From bdc14837191dc81452fa7fbba20ba0a29e5fbebd Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Wed, 4 Nov 2020 12:34:56 +0100 Subject: Fix QQuickHeaderView models to pass model tester Following 72e0d699cec09458ca9325035d477d4899e8e47b in qtbase, the model tester exercises additional code paths to verify correct row/columnCount implementations for flat models. This revealed a few bugs in the models used in QQuickHeaderView and the unit test: * neither QHeaderDataProxyModel nor the test models handled a valid parent index for calls to row/columnCount * QHeaderDataProxyModel::sibling passed the index on as parent Change-Id: I612e18030d837275614d61ce8987c93fff7f20a9 Reviewed-by: Fabian Kosmale --- tests/auto/qquickheaderview/tst_qquickheaderview.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/auto/qquickheaderview/tst_qquickheaderview.cpp b/tests/auto/qquickheaderview/tst_qquickheaderview.cpp index d8d71183..14e0bb79 100644 --- a/tests/auto/qquickheaderview/tst_qquickheaderview.cpp +++ b/tests/auto/qquickheaderview/tst_qquickheaderview.cpp @@ -58,8 +58,10 @@ public: { } - int rowCount(const QModelIndex & = QModelIndex()) const override + int rowCount(const QModelIndex &index = QModelIndex()) const override { + if (index.isValid()) + return 0; return m_rows; } virtual void setRowCount(int count) @@ -70,8 +72,10 @@ public: endResetModel(); } - int columnCount(const QModelIndex & = QModelIndex()) const override + int columnCount(const QModelIndex &index = QModelIndex()) const override { + if (index.isValid()) + return 0; return m_cols; } virtual void setColumnCount(int count) -- cgit v1.2.3