From f88bc5f3cd3abf49d23fdd7d371676682c793cd3 Mon Sep 17 00:00:00 2001
From: Kai Koehne <kai.koehne@nokia.com>
Date: Mon, 18 Jan 2010 14:33:53 +0100
Subject: [PATCH] Don't update design mode widgets while in text mode

---
 src/plugins/qmldesigner/designmode.cpp       |  2 +-
 src/plugins/qmldesigner/designmodewidget.cpp | 12 ++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/plugins/qmldesigner/designmode.cpp b/src/plugins/qmldesigner/designmode.cpp
index d8aecc292c9..89722b48aff 100644
--- a/src/plugins/qmldesigner/designmode.cpp
+++ b/src/plugins/qmldesigner/designmode.cpp
@@ -212,7 +212,7 @@ void DesignMode::modeChanged(Core::IMode *mode)
     } else {
         if (m_isActive) {
             m_isActive = false;
-//            m_mainWidget->showEditor(0);
+            m_mainWidget->showEditor(0);
         }
     }
 }
diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp
index 71ec441507c..ab8e3f58c25 100644
--- a/src/plugins/qmldesigner/designmodewidget.cpp
+++ b/src/plugins/qmldesigner/designmodewidget.cpp
@@ -282,13 +282,11 @@ void DocumentWidget::setAutoSynchronization(bool sync)
     if (sync) {
         // text editor -> visual editor
         if (!document()->model()) {
-            // first initialization
-            QList<RewriterView::Error> errors = document()->loadMaster(m_textBuffer.data());
-            if (!errors.isEmpty()) {
-                disable(errors);
-            }
+            document()->loadMaster(m_textBuffer.data());
         }
-        if (document()->model() && document()->qmlErrors().isEmpty()) {
+
+        QList<RewriterView::Error> errors = document()->qmlErrors();
+        if (errors.isEmpty()) {
             // set selection to text cursor
             RewriterView *rewriter = document()->rewriterView();
             const int cursorPos = m_textBuffer->textCursor().position();
@@ -297,6 +295,8 @@ void DocumentWidget::setAutoSynchronization(bool sync)
                 rewriter->setSelectedModelNodes(QList<ModelNode>() << node);
             }
             enable();
+        } else {
+            disable(errors);
         }
 
         connect(document(), SIGNAL(qmlErrorsChanged(QList<RewriterView::Error>)),
-- 
GitLab