aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVikas Pachdha <vikas.pachdha@qt.io>2020-10-13 08:59:20 +0200
committerVikas Pachdha <vikas.pachdha@qt.io>2020-10-13 10:42:39 +0000
commit6fe4f028a44e3ac06a9fe67ff0196419b0ebc0cb (patch)
tree4ae8f20470a8dc096eb26e595554d400e9cfa67d /src
parent2e25e2859d7f14a6c7fd81654e13cc5448985585 (diff)
Designer: Relax type difference check on node sync
Task-number: QDS-2535 Change-Id: Ic762d40f9088d287db4d7c0c88bb7817b2bf6475 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/qmldesigner/designercore/model/rewriteaction.cpp4
-rw-r--r--src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp5
2 files changed, 7 insertions, 2 deletions
diff --git a/src/plugins/qmldesigner/designercore/model/rewriteaction.cpp b/src/plugins/qmldesigner/designercore/model/rewriteaction.cpp
index 106341043d..2b12f03b2b 100644
--- a/src/plugins/qmldesigner/designercore/model/rewriteaction.cpp
+++ b/src/plugins/qmldesigner/designercore/model/rewriteaction.cpp
@@ -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()) {
diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
index 61f8d5e0c3..6c795f1d06 100644
--- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
+++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
@@ -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)