diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp index 76613a37909..8347e285105 100644 --- a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp +++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp @@ -389,6 +389,19 @@ void StatesEditorView::bindingPropertiesChanged(const QList &pr } } +void StatesEditorView::variantPropertiesChanged(const QList &propertyList, + AbstractView::PropertyChangeFlags /*propertyChange*/) +{ + m_block = true; + + for (const VariantProperty &property : propertyList) { + if (property.name() == "name" && QmlModelState::isValidQmlModelState(property.parentModelNode())) + resetModel(); + } + + m_block = false; +} + void StatesEditorView::currentStateChanged(const ModelNode &node) { QmlModelState newQmlModelState(node); diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h index 8038f0cd880..15debd7931c 100644 --- a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h +++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h @@ -69,6 +69,7 @@ public: AbstractView::PropertyChangeFlags propertyChange) override; void nodeOrderChanged(const NodeListProperty &listProperty, const ModelNode &movedNode, int oldIndex) override; void bindingPropertiesChanged(const QList& propertyList, PropertyChangeFlags propertyChange) override; + void variantPropertiesChanged(const QList& propertyList, PropertyChangeFlags propertyChange) override; // AbstractView