From 6fbcfd9164ae23b221ebce7fc3185505a8a1fb6e Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Tue, 22 Dec 2020 17:14:21 +0100 Subject: [PATCH] QListView: don't crash when an empty container is passed to itemsRect() QIconModeViewBase::itemsRect() is crashing with Qt6 when an empty container is passed. Fixes: QTBUG-89434 Change-Id: I324f1a34b62e67c7bbd3fe33227f4174df7d3d37 Pick-to: 6.0 Reviewed-by: Giuseppe D'Angelo --- src/widgets/itemviews/qlistview.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/widgets/itemviews/qlistview.cpp b/src/widgets/itemviews/qlistview.cpp index 269f08ce9f..1f3b22e8f8 100644 --- a/src/widgets/itemviews/qlistview.cpp +++ b/src/widgets/itemviews/qlistview.cpp @@ -3245,13 +3245,9 @@ QList QIconModeViewBase::intersectingSet(const QRect &area) const QRect QIconModeViewBase::itemsRect(const QList &indexes) const { - QList::const_iterator it = indexes.begin(); - QListViewItem item = indexToListViewItem(*it); - QRect rect(item.x, item.y, item.w, item.h); - for (; it != indexes.end(); ++it) { - item = indexToListViewItem(*it); - rect |= viewItemRect(item); - } + QRect rect; + for (const auto &index : indexes) + rect |= viewItemRect(indexToListViewItem(index)); return rect; }