diff --git a/src/plugins/qmldesigner/libs/designercore/include/bindingproperty.h b/src/plugins/qmldesigner/libs/designercore/include/bindingproperty.h index 97eabc040e8..f33ebb6af8d 100644 --- a/src/plugins/qmldesigner/libs/designercore/include/bindingproperty.h +++ b/src/plugins/qmldesigner/libs/designercore/include/bindingproperty.h @@ -16,7 +16,7 @@ class QMLDESIGNERCORE_EXPORT BindingProperty final : public QmlDesigner::Abstrac public: void setExpression(const QString &expression); - QString expression() const; + const QString &expression() const; BindingProperty(); BindingProperty(const BindingProperty &property, AbstractView *view); diff --git a/src/plugins/qmldesigner/libs/designercore/model/bindingproperty.cpp b/src/plugins/qmldesigner/libs/designercore/model/bindingproperty.cpp index 57778d30bd1..ec073baab6f 100644 --- a/src/plugins/qmldesigner/libs/designercore/model/bindingproperty.cpp +++ b/src/plugins/qmldesigner/libs/designercore/model/bindingproperty.cpp @@ -56,14 +56,16 @@ void BindingProperty::setExpression(const QString &expression) privateModel()->setBindingProperty(internalNodeSharedPointer(), name(), expression); } -QString BindingProperty::expression() const +const constinit QString null; + +const QString &BindingProperty::expression() const { if (isValid()) { if (auto property = internalNode()->bindingProperty(name())) return property->expression(); } - return QString(); + return null; } ModelNode BindingProperty::resolveBinding(const QString &binding, ModelNode currentNode) const diff --git a/src/plugins/qmldesigner/libs/designercore/model/internalbindingproperty.cpp b/src/plugins/qmldesigner/libs/designercore/model/internalbindingproperty.cpp index 44b2dce30ec..be16a01e3dd 100644 --- a/src/plugins/qmldesigner/libs/designercore/model/internalbindingproperty.cpp +++ b/src/plugins/qmldesigner/libs/designercore/model/internalbindingproperty.cpp @@ -17,7 +17,7 @@ bool InternalBindingProperty::isValid() const return InternalProperty::isValid() && isBindingProperty(); } -QString InternalBindingProperty::expression() const +const QString &InternalBindingProperty::expression() const { return m_expression; } diff --git a/src/plugins/qmldesigner/libs/designercore/model/internalbindingproperty.h b/src/plugins/qmldesigner/libs/designercore/model/internalbindingproperty.h index 6744a814925..d3c7d86cbe9 100644 --- a/src/plugins/qmldesigner/libs/designercore/model/internalbindingproperty.h +++ b/src/plugins/qmldesigner/libs/designercore/model/internalbindingproperty.h @@ -18,7 +18,7 @@ public: bool isValid() const override; - QString expression() const; + const QString &expression() const; void setExpression(const QString &expression); void setDynamicExpression(const TypeName &type, const QString &expression);