summaryrefslogtreecommitdiff
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
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>
-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))