aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2020-05-11 15:45:31 +0200
committerQt Cherry-pick Bot <cherrypickbot@codereview.qt-project.org>2020-05-12 10:49:28 +0000
commitbf9397c535971ec38668200ab465ebf20fa55ccf (patch)
treef3e4a9f2c57fb0f22a3a2f1bc3a55808d1d40533 /src
parent80a1ea20d66dea11c74d0a40e1c75b8a782f38a1 (diff)
ComboBox: fix currentValue not being updated on model changes
Make sure we call updateCurrentValue() where necessary. Fixes: QTBUG-83554 Change-Id: Iad593c2fc094a26429de1eda91bbdb152ffee2c2 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 3adeceaa1cfe5fae55ca6bd75226c52363a7e7d3) Reviewed-by: Qt Cherry-pick Bot
Diffstat (limited to 'src')
-rw-r--r--src/quicktemplates2/qquickcombobox.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/quicktemplates2/qquickcombobox.cpp b/src/quicktemplates2/qquickcombobox.cpp
index d9bbd2bd..d7a67325 100644
--- a/src/quicktemplates2/qquickcombobox.cpp
+++ b/src/quicktemplates2/qquickcombobox.cpp
@@ -404,13 +404,13 @@ void QQuickComboBoxPrivate::createdItem(int index, QObject *object)
}
if (index == currentIndex && !q->isEditable())
- updateCurrentText();
+ updateCurrentTextAndValue();
}
void QQuickComboBoxPrivate::modelUpdated()
{
if (!extra.isAllocated() || !extra->accepting)
- updateCurrentText();
+ updateCurrentTextAndValue();
}
void QQuickComboBoxPrivate::countChanged()
@@ -866,11 +866,11 @@ void QQuickComboBox::setModel(const QVariant& m)
if (QAbstractItemModel* aim = qvariant_cast<QAbstractItemModel *>(d->model)) {
QObjectPrivate::disconnect(aim, &QAbstractItemModel::dataChanged,
- d, QOverload<>::of(&QQuickComboBoxPrivate::updateCurrentText));
+ d, QOverload<>::of(&QQuickComboBoxPrivate::updateCurrentTextAndValue));
}
if (QAbstractItemModel* aim = qvariant_cast<QAbstractItemModel *>(model)) {
QObjectPrivate::connect(aim, &QAbstractItemModel::dataChanged,
- d, QOverload<>::of(&QQuickComboBoxPrivate::updateCurrentText));
+ d, QOverload<>::of(&QQuickComboBoxPrivate::updateCurrentTextAndValue));
}
d->model = model;
@@ -878,7 +878,7 @@ void QQuickComboBox::setModel(const QVariant& m)
emit countChanged();
if (isComponentComplete()) {
setCurrentIndex(count() > 0 ? 0 : -1);
- d->updateCurrentText();
+ d->updateCurrentTextAndValue();
}
emit modelChanged();
}
@@ -1869,7 +1869,7 @@ bool QQuickComboBox::event(QEvent *e)
{
Q_D(QQuickComboBox);
if (e->type() == QEvent::LanguageChange)
- d->updateCurrentText();
+ d->updateCurrentTextAndValue();
return QQuickControl::event(e);
}