From d3eaf05077e507cb3e81c825d9336673cc74cbd0 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann <Thomas.Hartmann@nokia.com> Date: Tue, 22 Mar 2011 12:33:32 +0100 Subject: [PATCH] QmlDesigner: avoid syncronization errors when going to text mode and back To be safe to change to the base state (and back). Reviewed-by: Kai Koehne --- .../integration/designdocumentcontroller.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp index 47cb7e6d72e..9b0c16d5e6e 100644 --- a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp +++ b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp @@ -161,8 +161,19 @@ void DesignDocumentController::detachNodeInstanceView() void DesignDocumentController::attachNodeInstanceView() { + QmlModelState state; if (m_d->nodeInstanceView) model()->attachView(m_d->nodeInstanceView.data()); + + //We go back to base state (and back again) to avoid side effects from text editing. + if (m_d->statesEditorView) { + state = m_d->statesEditorView->currentState(); + m_d->statesEditorView->setCurrentState(m_d->statesEditorView->baseState()); + + } + + if (state.isValid() && m_d->statesEditorView) + m_d->statesEditorView->setCurrentState(state); } QWidget *DesignDocumentController::centralWidget() const -- GitLab