diff options
author | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2011-10-31 11:09:15 +0100 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2011-10-31 15:37:24 +0100 |
commit | 91b79844221e511cf2e0d1c1d5296f3b4dccff7d (patch) | |
tree | ab93d141d29c210d188f8d712d54de88eadf7ae1 /src | |
parent | 6fb602061e91f0af519608cff750e70460d70d70 (diff) | |
download | qt-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.cpp | 7 |
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() |