diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-08-09 14:08:24 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-08-09 14:08:24 +0200 |
commit | 6a6eaec0e8c2d4cd1ffbe2fe154a3a3caad54dc9 (patch) | |
tree | 5d8352f302bc979332eed01e250554b69961311e /src/quicktemplates2/qquickcombobox.cpp | |
parent | c02d23360186b43fcd570e1c7fc666cb14b487d6 (diff) | |
parent | b172b30368bafc839b92f767324496a509267fc7 (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.cpp | 6 |
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()) { |