From 80693f171c9e904007137f109a83fb456c9cae48 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Fri, 23 Feb 2018 21:23:49 +0100 Subject: QStandardItem: add more sanity checks on insertRow(s)/Column(s) When QStandardItem::insertRows/Columns is called with an empty list or an insert count of 0, do not assert but return false. Task-number: QTBUG-66491 Change-Id: I328598e08584fb9b0a35075458bfeb31c57ebfee Reviewed-by: Samuel Gaist Reviewed-by: Richard Moe Gustavsen --- .../qstandarditemmodel/tst_qstandarditemmodel.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp') diff --git a/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp b/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp index d393ac70da..1ecfdb5e47 100644 --- a/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp +++ b/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp @@ -132,7 +132,7 @@ private slots: void taskQTBUG_45114_setItemData(); private: - QAbstractItemModel *m_model; + QStandardItemModel *m_model; QPersistentModelIndex persistent; QVector rcParent; QVector rcFirst; @@ -292,6 +292,12 @@ void tst_QStandardItemModel::insertRows() // check header data has moved QCOMPARE(m_model->headerData(3, Qt::Vertical).toString(), headerLabel); + + // do not assert on empty list + QStandardItem *si = m_model->invisibleRootItem(); + si->insertRow(0, QList()); + si->insertRows(0, 0); + si->insertRows(0, QList()); } void tst_QStandardItemModel::insertRowsItems() @@ -402,6 +408,11 @@ void tst_QStandardItemModel::insertColumns() // check header data has moved QCOMPARE(m_model->headerData(3, Qt::Horizontal).toString(), headerLabel); + + // do not assert on empty list + QStandardItem *si = m_model->invisibleRootItem(); + si->insertColumn(0, QList()); + si->insertColumns(0, 0); } void tst_QStandardItemModel::removeRows() -- cgit v1.2.3