diff options
Diffstat (limited to 'src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp')
-rw-r--r-- | src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp index ec78ed97af..684a1746e0 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp @@ -39,6 +39,7 @@ #include <QRegularExpression> #include <QUrl> +#include <QScopedPointer> //using namespace QmlDesigner; @@ -610,14 +611,15 @@ void PropertyEditorNodeWrapper::changeValue(const QString &propertyName) if (name.isNull()) return; if (m_modelNode.isValid()) { - QmlDesigner::QmlObjectNode qmlObjectNode(m_modelNode); + QScopedPointer<QmlDesigner::QmlObjectNode> qmlObjectNode{ + QmlDesigner::QmlObjectNode::getQmlObjectNodeOfCorrectType(m_modelNode)}; auto valueObject = qvariant_cast<PropertyEditorValue *>(m_valuesPropertyMap.value(QString::fromLatin1(name))); if (valueObject->value().isValid()) - qmlObjectNode.setVariantProperty(name, valueObject->value()); + qmlObjectNode->setVariantProperty(name, valueObject->value()); else - qmlObjectNode.removeProperty(name); + qmlObjectNode->removeProperty(name); } } |