aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickcombobox.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-08-09 14:08:24 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-08-09 14:08:24 +0200
commit6a6eaec0e8c2d4cd1ffbe2fe154a3a3caad54dc9 (patch)
tree5d8352f302bc979332eed01e250554b69961311e /src/quicktemplates2/qquickcombobox.cpp
parentc02d23360186b43fcd570e1c7fc666cb14b487d6 (diff)
parentb172b30368bafc839b92f767324496a509267fc7 (diff)
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts: src/quicktemplates2/qquickpage.cpp Change-Id: I4c8b62fb1d7c20c6d3c870eb47e0402a20051098
Diffstat (limited to 'src/quicktemplates2/qquickcombobox.cpp')
-rw-r--r--src/quicktemplates2/qquickcombobox.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/quicktemplates2/qquickcombobox.cpp b/src/quicktemplates2/qquickcombobox.cpp
index c70f8839..f6dfa195 100644
--- a/src/quicktemplates2/qquickcombobox.cpp
+++ b/src/quicktemplates2/qquickcombobox.cpp
@@ -40,6 +40,7 @@
#include "qquickpopup_p_p.h"
#include <QtCore/qregexp.h>
+#include <QtCore/qabstractitemmodel.h>
#include <QtGui/qpa/qplatformtheme.h>
#include <QtQml/qjsvalue.h>
#include <QtQml/qqmlcontext.h>
@@ -410,6 +411,11 @@ void QQuickComboBox::setModel(const QVariant& m)
if (d->model == model)
return;
+ if (QAbstractItemModel* aim = qvariant_cast<QAbstractItemModel *>(d->model))
+ QObjectPrivate::disconnect(aim, &QAbstractItemModel::dataChanged, d, &QQuickComboBoxPrivate::updateCurrentText);
+ if (QAbstractItemModel* aim = qvariant_cast<QAbstractItemModel *>(model))
+ QObjectPrivate::connect(aim, &QAbstractItemModel::dataChanged, d, &QQuickComboBoxPrivate::updateCurrentText);
+
d->model = model;
d->createDelegateModel();
if (isComponentComplete()) {