aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Hartmann <Thomas.Hartmann@theqtcompany.com>2016-10-19 11:48:50 +0200
committerThomas Hartmann <Thomas.Hartmann@theqtcompany.com>2016-11-15 14:08:52 +0000
commitcedf7a012ef7a447809bf039a8c4229329ad5b23 (patch)
tree0373ef5427b0ed8c988a5cce86fc67bbd6622934
parent757153fce540d9c08cd3c7e9eedfbaf7fbe91857 (diff)
QmlDesigner: Adding try catch block
Change-Id: I4956b58f1ffd3bfdf0e6b810de1f411ae7d7f8a0 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
-rw-r--r--src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp
index 4b891ce6ee..354612a3c2 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp
+++ b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp
@@ -666,20 +666,24 @@ static bool isInLayoutable(NodeAbstractProperty &parentProperty)
static void reparentModelNodeToNodeProperty(NodeAbstractProperty &parentProperty, const ModelNode &modelNode)
{
- if (!modelNode.hasParentProperty() || parentProperty != modelNode.parentProperty()) {
- if (isInLayoutable(parentProperty)) {
- removePosition(modelNode);
- parentProperty.reparentHere(modelNode);
- } else {
- if (QmlItemNode::isValidQmlItemNode(modelNode)) {
- QPointF scenePosition = QmlItemNode(modelNode).instanceScenePosition();
+ try {
+ if (!modelNode.hasParentProperty() || parentProperty != modelNode.parentProperty()) {
+ if (isInLayoutable(parentProperty)) {
+ removePosition(modelNode);
parentProperty.reparentHere(modelNode);
- if (!scenePosition.isNull())
- setScenePosition(modelNode, scenePosition);
} else {
- parentProperty.reparentHere(modelNode);
+ if (QmlItemNode::isValidQmlItemNode(modelNode)) {
+ QPointF scenePosition = QmlItemNode(modelNode).instanceScenePosition();
+ parentProperty.reparentHere(modelNode);
+ if (!scenePosition.isNull())
+ setScenePosition(modelNode, scenePosition);
+ } else {
+ parentProperty.reparentHere(modelNode);
+ }
}
}
+ } catch (const RewritingException &exception) { //better safe than sorry! There always might be cases where we fail
+ exception.showException();
}
}