diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp index d574d5f9792..e5796a63410 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp @@ -46,6 +46,10 @@ #include #include +#include + +#include + static bool isSimpleExpression(const QString &expression) { if (expression.startsWith(QStringLiteral("{"))) @@ -656,8 +660,18 @@ QList ObjectNodeInstance::allItemsRecursive() const return QList(); } -QList ObjectNodeInstance::stateInstances() const +QList ObjectNodeInstance::stateInstances() const { + if (auto group = qobject_cast(object())) { + QList instanceList; + const QList stateList = group->states(); + for (QQuickState *state : stateList) { + if (state && nodeInstanceServer()->hasInstanceForObject(state)) + instanceList.append(nodeInstanceServer()->instanceForObject(state)); + } + return instanceList; + } + return QList(); }