From bdcbbd7d5ba41ef3aeb24c12ef22ad2fdb7aac90 Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Mon, 18 Sep 2017 00:41:20 +0200 Subject: QTreeWidgetItem::insertChildren: ignore out of bounds indexes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit QTreeWidgetItem::insertChildren should behave like a more-optimized QTreeWidgetItem::insertChild. Unlike the latter, the former lacks out-of-bounds checks, resulting in successful insertions even when using an invalid index (say, bigger than the row/column count). Reintroduce some sanity checks instead. This allows to fix a "fixme" left in the autotest. [ChangeLog][QtWidgets][QTreeWidgetItem] QTreeWidgetItem::insertChildren now ignores insertions happening at invalid indices, for consistency with QTreeWidgetItem::insertChild. Change-Id: I1532597768cc6aff96a6e8f356bc6075b582801d Reviewed-by: Thorbjørn Lund Martsum --- src/widgets/itemviews/qtreewidget.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/widgets') diff --git a/src/widgets/itemviews/qtreewidget.cpp b/src/widgets/itemviews/qtreewidget.cpp index 601ed44b55..334a3e0c75 100644 --- a/src/widgets/itemviews/qtreewidget.cpp +++ b/src/widgets/itemviews/qtreewidget.cpp @@ -2009,6 +2009,9 @@ void QTreeWidgetItem::addChildren(const QList &children) */ void QTreeWidgetItem::insertChildren(int index, const QList &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)); -- cgit v1.2.3