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 <giuseppe.dangelo@kdab.com>
bb10
Christian Ehrlicher 2020-12-22 17:14:21 +01:00
parent f8a175afba
commit 6fbcfd9164
1 changed files with 3 additions and 7 deletions

View File

@ -3245,13 +3245,9 @@ QList<QModelIndex> QIconModeViewBase::intersectingSet(const QRect &area) const
QRect QIconModeViewBase::itemsRect(const QList<QModelIndex> &indexes) const
{
QList<QModelIndex>::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;
}