summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThomas Hartmann <Thomas.Hartmann@nokia.com>2011-10-31 11:09:15 +0100
committerThomas Hartmann <Thomas.Hartmann@nokia.com>2011-10-31 15:37:24 +0100
commit91b79844221e511cf2e0d1c1d5296f3b4dccff7d (patch)
treeab93d141d29c210d188f8d712d54de88eadf7ae1 /src
parent6fb602061e91f0af519608cff750e70460d70d70 (diff)
downloadqt-creator-91b79844221e511cf2e0d1c1d5296f3b4dccff7d.tar.gz
QmlDesigner.documentController: bugfix for crumblebar
This fixes a crash bug. Change-Id: Ibfe5c30910fed8b5e3132a05bc6a2eec39d4d308 Reviewed-by: Marco Bubke <marco.bubke@nokia.com>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
index a24210b0d1..57a23677fa 100644
--- a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
+++ b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
@@ -448,9 +448,10 @@ void DesignDocumentController::changeCurrentModelTo(const ModelNode &node)
if (Internal::DesignModeWidget::instance()->currentDesignDocumentController() != this)
return;
DesignDocumentControllerPrivate::clearCrumblePath = false;
- while (!d->formEditorView->crumblePath()->dataForLastIndex().value<CrumbleBarInfo>().modelNode.isRootNode())
+ while (d->formEditorView->crumblePath()->dataForLastIndex().value<CrumbleBarInfo>().modelNode.isValid() &&
+ !d->formEditorView->crumblePath()->dataForLastIndex().value<CrumbleBarInfo>().modelNode.isRootNode())
d->formEditorView->crumblePath()->popElement();
- if (node.isRootNode())
+ if (node.isRootNode() && d->formEditorView->crumblePath()->dataForLastIndex().isValid())
d->formEditorView->crumblePath()->popElement();
changeToSubComponent(node);
DesignDocumentControllerPrivate::clearCrumblePath = true;
@@ -537,8 +538,10 @@ void DesignDocumentController::goIntoComponent()
if (d->formEditorView)
selectedNodes = d->formEditorView->selectedModelNodes();
+ DesignDocumentControllerPrivate::clearCrumblePath = false;
if (selectedNodes.count() == 1)
ModelNodeAction::goIntoComponent(selectedNodes.first());
+ DesignDocumentControllerPrivate::clearCrumblePath = true;
}
void DesignDocumentController::loadCurrentModel()