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