diff --git a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h index 48ecd4119f6..bc3ca88d810 100644 --- a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h +++ b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h @@ -170,6 +170,8 @@ private: // functions NodeInstance loadNode(const ModelNode &node); + void clearErrors(); + void removeAllInstanceNodeRelationships(); void removeRecursiveChildRelationship(const ModelNode &removedNode); diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp index cce625a2b3d..a6061234320 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp @@ -326,10 +326,17 @@ void NodeInstanceView::endPuppetTransaction() } } + +void NodeInstanceView::clearErrors() +{ + for (NodeInstance &instance : instances()) { + instance.setError({}); + } +} + void NodeInstanceView::restartProcess() { - if (rootNodeInstance().isValid()) - rootNodeInstance().setError({}); + clearErrors(); emitInstanceErrorChange({}); emitDocumentMessage({}, {}); @@ -958,6 +965,8 @@ CreateSceneCommand NodeInstanceView::createCreateSceneCommand() } } + clearErrors(); + nodeList = filterNodesForSkipItems(nodeList); QList variantPropertyList;