From 5b683288862345db18d3aaf6abded8b17e84a829 Mon Sep 17 00:00:00 2001
From: Marco Bubke <marco.bubke@nokia.com>
Date: Tue, 16 Feb 2010 17:18:13 +0100
Subject: [PATCH] States updating works again in Bauhaus

---
 .../qmlpropertychangesnodeinstance.cpp        | 21 ++++++++++---------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/src/plugins/qmldesigner/core/instances/qmlpropertychangesnodeinstance.cpp b/src/plugins/qmldesigner/core/instances/qmlpropertychangesnodeinstance.cpp
index 267351eedcf..6d3de322f6d 100644
--- a/src/plugins/qmldesigner/core/instances/qmlpropertychangesnodeinstance.cpp
+++ b/src/plugins/qmldesigner/core/instances/qmlpropertychangesnodeinstance.cpp
@@ -134,26 +134,27 @@ QmlPropertyChangesNodeInstance::Pointer
 
 void QmlPropertyChangesNodeInstance::setPropertyVariant(const QString &name, const QVariant &value)
 {
-    QmlMetaProperty metaProperty = QmlMetaProperty::createProperty(object(), name, context());
-    if (metaProperty.isValid()) { // 'restoreEntryValues', 'explicit'
+    QMetaObject metaObject = QmlPropertyChangesObject::staticMetaObject;
+
+    if (metaObject.indexOfProperty(name.toLatin1()) > 0) { // 'restoreEntryValues', 'explicit'
         ObjectNodeInstance::setPropertyVariant(name, value);
         return;
+    } else {
+        changesObject()->m_properties.insert(name, value);       updateStateInstance();
     }
-    changesObject()->m_properties.insert(name, value);
-
-    updateStateInstance();
 }
 
 void QmlPropertyChangesNodeInstance::setPropertyBinding(const QString &name, const QString &expression)
 {
-    QmlMetaProperty metaProperty = QmlMetaProperty::createProperty(object(), name, context());
-    if (metaProperty.isValid()) { // 'target'
+    QMetaObject metaObject = QmlPropertyChangesObject::staticMetaObject;
+
+    if (metaObject.indexOfProperty(name.toLatin1()) > 0) { // 'restoreEntryValues', 'explicit'
         ObjectNodeInstance::setPropertyBinding(name, expression);
         return;
+    } else {
+        changesObject()->m_expressions.insert(name, expression);
+        updateStateInstance();
     }
-    changesObject()->m_expressions.insert(name, expression);
-
-    updateStateInstance();
 }
 
 QVariant QmlPropertyChangesNodeInstance::property(const QString &name) const
-- 
GitLab