summaryrefslogtreecommitdiff
path: root/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp')
-rw-r--r--src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp8
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);
}
}