From a0f17e00e43154daba47baf9445264b2793a2b1c Mon Sep 17 00:00:00 2001
From: Marco Bubke <marco.bubke@digia.com>
Date: Mon, 24 Sep 2012 17:01:37 +0200
Subject: [PATCH] QmlDesigner.NodeInstances: Fix supported type because of
 qvariant changes

Change-Id: Iec63a16218420e546e612909380dcd4f5bdb4a30
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
---
 .../qml2puppet/instances/nodeinstanceserver.cpp          | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp
index b986eef73bf..a309e6b2856 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp
@@ -964,9 +964,9 @@ InformationChangedCommand NodeInstanceServer::createAllInformationChangedCommand
     return InformationChangedCommand(createInformationVector(instanceList, initial));
 }
 
-static bool supportedVariantType(QVariant::Type type)
+static bool supportedVariantType(int type)
 {
-    return type < QVariant::UserType && type != QVariant::Icon;
+    return type < QVariant::LastCoreType && type != QMetaType::QObjectStar;
 }
 
 ValuesChangedCommand NodeInstanceServer::createValuesChangedCommand(const QList<ServerNodeInstance> &instanceList) const
@@ -976,7 +976,7 @@ ValuesChangedCommand NodeInstanceServer::createValuesChangedCommand(const QList<
     foreach (const ServerNodeInstance &instance, instanceList) {
         foreach (const QString &propertyName, instance.propertyNames()) {
             QVariant propertyValue = instance.property(propertyName);
-            if (supportedVariantType(propertyValue.type()))
+            if (supportedVariantType(propertyValue.userType()))
                 valueVector.append(PropertyValueContainer(instance.instanceId(), propertyName, propertyValue, QString()));
         }
     }
@@ -1005,8 +1005,9 @@ ValuesChangedCommand NodeInstanceServer::createValuesChangedCommand(const QVecto
 
         if ( instance.isValid()) {
             QVariant propertyValue = instance.property(propertyName);
-            if (supportedVariantType(propertyValue.type()))
+            if (QMetaType::isRegistered(propertyValue.userType()) && supportedVariantType(propertyValue.type())) {
                 valueVector.append(PropertyValueContainer(instance.instanceId(), propertyName, propertyValue, QString()));
+            }
         }
     }
 
-- 
GitLab