From fed4c3ecba40f33a820e4b9d74459af189beae66 Mon Sep 17 00:00:00 2001 From: David Faure Date: Tue, 18 Apr 2023 15:02:31 +0200 Subject: [PATCH] QComboBox: don't call data(invalid index) on the underlying model QComboBoxPrivate::itemIcon() wasn't checking for an invalid index, unlike QComboBoxPrivate::itemText(). QComboBoxPrivate::setCurrentIndex calls updateLineEditGeometry, which calls QComboBox::itemIcon, even for an invalid combobox. Pick-to: 6.5 6.2 Change-Id: I5e6105ae56836cd237a91a405d331f1424f49b37 Reviewed-by: Volker Hilsheimer --- src/widgets/widgets/qcombobox.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp index 7c99e8983c6..b28bd154c3b 100644 --- a/src/widgets/widgets/qcombobox.cpp +++ b/src/widgets/widgets/qcombobox.cpp @@ -1726,6 +1726,8 @@ void QComboBoxPrivate::updateDelegate(bool force) QIcon QComboBoxPrivate::itemIcon(const QModelIndex &index) const { + if (!index.isValid()) + return {}; QVariant decoration = model->data(index, Qt::DecorationRole); if (decoration.userType() == QMetaType::QPixmap) return QIcon(qvariant_cast(decoration));