diff options
author | Thomas Hartmann <Thomas.Hartmann@digia.com> | 2014-09-09 14:39:37 +0200 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@digia.com> | 2014-09-09 16:53:53 +0200 |
commit | 0bb66932e3a5759f128acb6f39db86c07aa03d02 (patch) | |
tree | 5ebf8069e4117cfd5c35533e6b4b8ee236f032a7 /src/plugins/qmldesigner | |
parent | 4ca49dc909a5e4c579e053735fd7d3eb1b0c5649 (diff) | |
download | qt-creator-0bb66932e3a5759f128acb6f39db86c07aa03d02.tar.gz |
QmlDesigner.TextToModelMerger: Fixing comparison of QVariant
n the case of custom types, their equalness operators are not called.
Instead the values' addresses are compared.
This is not want we want. Instead we have to cast and compare
our custom types manually.
This fixed a couple of QTC_ASSERTS.
Change-Id: I3a82b84744f9b8860b7efaeb203475bb9dba5d11
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
Diffstat (limited to 'src/plugins/qmldesigner')
-rw-r--r-- | src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp index dc646979fc..45ea4c91f9 100644 --- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp @@ -671,6 +671,8 @@ static inline bool smartVeryFuzzyCompare(QVariant value1, QVariant value2) static inline bool equals(const QVariant &a, const QVariant &b) { + if (a.canConvert<Enumeration>() && b.canConvert<Enumeration>()) + return a.value<Enumeration>().toString() == b.value<Enumeration>().toString(); if (a == b) return true; if (smartVeryFuzzyCompare(a, b)) |