diff options
Diffstat (limited to 'src/widgets/itemviews/qtreewidget.cpp')
-rw-r--r-- | src/widgets/itemviews/qtreewidget.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/widgets/itemviews/qtreewidget.cpp b/src/widgets/itemviews/qtreewidget.cpp index 4908ad6ad2..3bd77b340b 100644 --- a/src/widgets/itemviews/qtreewidget.cpp +++ b/src/widgets/itemviews/qtreewidget.cpp @@ -48,6 +48,8 @@ #include <private/qwidgetitemdata_p.h> #include <private/qtreewidgetitemiterator_p.h> +#include <QtCore/private/qduplicatetracker_p.h> + #include <algorithm> QT_BEGIN_NAMESPACE @@ -3175,13 +3177,12 @@ QList<QTreeWidgetItem*> QTreeWidget::selectedItems() const const QModelIndexList indexes = selectionModel()->selectedIndexes(); QList<QTreeWidgetItem*> items; items.reserve(indexes.count()); - QSet<QTreeWidgetItem *> seen; + QDuplicateTracker<QTreeWidgetItem *> seen; seen.reserve(indexes.count()); for (const auto &index : indexes) { QTreeWidgetItem *item = d->item(index); - if (item->isHidden() || seen.contains(item)) + if (item->isHidden() || seen.hasSeen(item)) continue; - seen.insert(item); items.append(item); } return items; |