Skip to content
Snippets Groups Projects
Commit 8af7efa3 authored by Thomas Hartmann's avatar Thomas Hartmann
Browse files

QmlDesigner.modelMerger: catch another exception

parent 7424f752
Branches
Tags
No related merge requests found
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#include "bindingproperty.h" #include "bindingproperty.h"
#include "variantproperty.h" #include "variantproperty.h"
#include "rewritertransaction.h" #include "rewritertransaction.h"
#include <rewritingexception.h>
#include <QSet> #include <QSet>
#include <QStringList> #include <QStringList>
...@@ -168,26 +169,30 @@ ModelNode ModelMerger::insertModel(const ModelNode &modelNode) ...@@ -168,26 +169,30 @@ ModelNode ModelMerger::insertModel(const ModelNode &modelNode)
void ModelMerger::replaceModel(const ModelNode &modelNode) void ModelMerger::replaceModel(const ModelNode &modelNode)
{ {
RewriterTransaction transaction(view()->beginRewriterTransaction()); try {
RewriterTransaction transaction(view()->beginRewriterTransaction());
foreach (const Import &import, modelNode.model()->imports()) foreach (const Import &import, modelNode.model()->imports())
view()->model()->addImport(import); view()->model()->addImport(import);
view()->model()->setFileUrl(modelNode.model()->fileUrl()); view()->model()->setFileUrl(modelNode.model()->fileUrl());
ModelNode rootNode(view()->rootModelNode()); ModelNode rootNode(view()->rootModelNode());
foreach (const QString &propertyName, rootNode.propertyNames()) foreach (const QString &propertyName, rootNode.propertyNames())
rootNode.removeProperty(propertyName); rootNode.removeProperty(propertyName);
QHash<QString, QString> idRenamingHash; QHash<QString, QString> idRenamingHash;
setupIdRenamingHash(modelNode, idRenamingHash, view()); setupIdRenamingHash(modelNode, idRenamingHash, view());
syncVariantProperties(rootNode, modelNode); syncVariantProperties(rootNode, modelNode);
syncBindingProperties(rootNode, modelNode, idRenamingHash); syncBindingProperties(rootNode, modelNode, idRenamingHash);
syncId(rootNode, modelNode, idRenamingHash); syncId(rootNode, modelNode, idRenamingHash);
syncNodeProperties(rootNode, modelNode, idRenamingHash, view()); syncNodeProperties(rootNode, modelNode, idRenamingHash, view());
syncNodeListProperties(rootNode, modelNode, idRenamingHash, view()); syncNodeListProperties(rootNode, modelNode, idRenamingHash, view());
m_view->changeRootNodeType(modelNode.type(), modelNode.majorVersion(), modelNode.minorVersion()); m_view->changeRootNodeType(modelNode.type(), modelNode.majorVersion(), modelNode.minorVersion());
} catch (RewritingException &e) {
qWarning() << e.description(); //silent error
}
} }
} //namespace QmlDesigner } //namespace QmlDesigner
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment