summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorDavid Faure <david.faure@kdab.com>2023-04-18 15:02:31 +0200
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2023-04-18 22:32:32 +0000
commitfed4c3ecba40f33a820e4b9d74459af189beae66 (patch)
tree993c10e64186fc0a8979daf73a9d785819d6495d /src/widgets
parentdae858b7105ffa9c7dedca1d5b35c0f9e9d56436 (diff)
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 <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/widgets/qcombobox.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp
index 7c99e8983c..b28bd154c3 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<QPixmap>(decoration));