From 938d9d919bc566574f00c9a688ea66a5bdacda77 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Thu, 5 Nov 2020 14:32:26 +0100 Subject: [PATCH] QmlDesigner: Only restore auxiliary data the first time Since we only save auxiliary data when the document is saved, we would otherwise override removed auxiliary data. Task-number: QDS-3075 Change-Id: I22c6ea6be1ecda4b0323a58d8ce3e8963c194266 Reviewed-by: Miikka Heikkinen Reviewed-by: Thomas Hartmann --- src/plugins/qmldesigner/designercore/model/rewriterview.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp index 6b1c6735e44..928715ded8e 100644 --- a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp +++ b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp @@ -1130,6 +1130,10 @@ void RewriterView::restoreAuxiliaryData() { QTC_ASSERT(m_textModifier, return); + const char auxRestoredFlag[] = "AuxRestored@Internal"; + if (rootModelNode().hasAuxiliaryData(auxRestoredFlag)) + return; + m_restoringAuxData = true; setupCanonicalHashes(); @@ -1149,6 +1153,7 @@ void RewriterView::restoreAuxiliaryData() checkChildNodes(reader.readFromSource(auxSource), this); } + rootModelNode().setAuxiliaryData(auxRestoredFlag, true); m_restoringAuxData = false; }