summaryrefslogtreecommitdiff
path: root/src/plugins/qmldesigner
diff options
context:
space:
mode:
authorThomas Hartmann <Thomas.Hartmann@digia.com>2014-09-09 14:39:37 +0200
committerThomas Hartmann <Thomas.Hartmann@digia.com>2014-09-09 16:53:53 +0200
commit0bb66932e3a5759f128acb6f39db86c07aa03d02 (patch)
tree5ebf8069e4117cfd5c35533e6b4b8ee236f032a7 /src/plugins/qmldesigner
parent4ca49dc909a5e4c579e053735fd7d3eb1b0c5649 (diff)
downloadqt-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.cpp2
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))