Designer: Relax type difference check on node sync

Task-number: QDS-2535
Change-Id: Ic762d40f9088d287db4d7c0c88bb7817b2bf6475
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Vikas Pachdha
2020-10-13 08:59:20 +02:00
parent 2e25e2859d
commit 6fe4f028a4
2 changed files with 7 additions and 2 deletions

View File

@@ -181,8 +181,10 @@ bool ChangePropertyRewriteAction::execute(QmlRefactoring &refactoring, ModelNode
{
if (m_sheduledInHierarchy) {
const int nodeLocation = positionStore.nodeOffset(m_property.parentModelNode());
if (nodeLocation < 0)
if (nodeLocation < 0) {
qWarning() << "*** ChangePropertyRewriteAction::execute ignored. Invalid node location";
return true;
}
bool result = false;
if (m_property.isDefaultProperty()) {

View File

@@ -1119,8 +1119,11 @@ void TextToModelMerger::syncNode(ModelNode &modelNode,
differenceHandler.typeDiffers(isRootNode, modelNode, typeName,
majorVersion, minorVersion,
astNode, context);
if (!isRootNode)
if (!isRootNode && modelNode.majorVersion() != -1 && modelNode.minorVersion() != -1) {
qWarning() << "Preempting Node sync. Type differs" << modelNode <<
modelNode.majorVersion() << modelNode.minorVersion();
return; // the difference handler will create a new node, so we're done.
}
}
if (isComponentType(typeName) || isImplicitComponent)