From 44f7bf09b5a53004956a4f3b9aa6b54be0582f64 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Thu, 17 Mar 2022 17:48:43 +0100 Subject: [PATCH] QmlDesigner: Clear errors when starting the puppet Change-Id: I25d163ae48d094d6e7ba5059f7832d1b48ffec65 Reviewed-by: Qt CI Bot Reviewed-by: Tim Jenssen --- .../designercore/include/nodeinstanceview.h | 2 ++ .../designercore/instances/nodeinstanceview.cpp | 13 +++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) 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;