diff options
Diffstat (limited to 'src/widgets/itemviews/qtreewidget.cpp')
-rw-r--r-- | src/widgets/itemviews/qtreewidget.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/widgets/itemviews/qtreewidget.cpp b/src/widgets/itemviews/qtreewidget.cpp index d7b46a0835..e5f73407cd 100644 --- a/src/widgets/itemviews/qtreewidget.cpp +++ b/src/widgets/itemviews/qtreewidget.cpp @@ -145,7 +145,7 @@ QTreeModel::QTreeModel(QTreeModelPrivate &dd, QTreeWidget *parent) QTreeModel::~QTreeModel() { clear(); - headerItem->view = Q_NULLPTR; + headerItem->view = nullptr; delete headerItem; rootItem->view = 0; delete rootItem; @@ -2009,6 +2009,9 @@ void QTreeWidgetItem::addChildren(const QList<QTreeWidgetItem*> &children) */ void QTreeWidgetItem::insertChildren(int index, const QList<QTreeWidgetItem*> &children) { + if (index < 0 || index > this->children.count() || children.isEmpty()) + return; + if (view && view->isSortingEnabled()) { for (int n = 0; n < children.count(); ++n) insertChild(index, children.at(n)); @@ -2726,14 +2729,14 @@ void QTreeWidget::setHeaderItem(QTreeWidgetItem *item) int oldCount = columnCount(); if (oldCount < item->columnCount()) - d->treeModel()->beginInsertColumns(QModelIndex(), oldCount, item->columnCount()); - else - d->treeModel()->beginRemoveColumns(QModelIndex(), item->columnCount(), oldCount); + d->treeModel()->beginInsertColumns(QModelIndex(), oldCount, item->columnCount() - 1); + else if (oldCount > item->columnCount()) + d->treeModel()->beginRemoveColumns(QModelIndex(), item->columnCount(), oldCount - 1); delete d->treeModel()->headerItem; d->treeModel()->headerItem = item; if (oldCount < item->columnCount()) d->treeModel()->endInsertColumns(); - else + else if (oldCount > item->columnCount()) d->treeModel()->endRemoveColumns(); d->treeModel()->headerDataChanged(Qt::Horizontal, 0, oldCount); } @@ -3366,6 +3369,7 @@ QModelIndex QTreeWidget::indexFromItem(const QTreeWidgetItem *item, int column) return d->index(item, column); } +#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) /*! \overload \internal @@ -3374,6 +3378,7 @@ QModelIndex QTreeWidget::indexFromItem(QTreeWidgetItem *item, int column) const { return indexFromItem(const_cast<const QTreeWidgetItem *>(item), column); } +#endif /*! Returns a pointer to the QTreeWidgetItem associated with the given \a index. |