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 <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Thomas Hartmann
2020-11-05 14:32:26 +01:00
parent b48fc5ae4f
commit 938d9d919b

View File

@@ -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;
}