From 4be2ebcb9b451452b17a070e935373f4ae760cd9 Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Wed, 27 Oct 2010 15:05:56 +0200
Subject: [PATCH] debugger: don't let slave engine command the gui

---
 src/plugins/debugger/debuggerengine.cpp | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
index 5acc6e73941..095fc78cf50 100644
--- a/src/plugins/debugger/debuggerengine.cpp
+++ b/src/plugins/debugger/debuggerengine.cpp
@@ -1389,11 +1389,7 @@ void DebuggerEngine::notifyEngineShutdownOk()
     showMessage(_("NOTE: ENGINE SHUTDOWN OK"));
     QTC_ASSERT(state() == EngineShutdownRequested, qDebug() << state());
     setState(EngineShutdownOk);
-    if (isSlaveEngine()) {
-        setState(DebuggerFinished); // WHY?
-    } else {
-        d->queueFinishDebugger();
-    }
+    d->queueFinishDebugger();
 }
 
 void DebuggerEngine::notifyEngineShutdownFailed()
@@ -1401,11 +1397,7 @@ void DebuggerEngine::notifyEngineShutdownFailed()
     showMessage(_("NOTE: ENGINE SHUTDOWN FAILED"));
     QTC_ASSERT(state() == EngineShutdownRequested, qDebug() << state());
     setState(EngineShutdownFailed);
-    if (isSlaveEngine()) {
-        setState(DebuggerFinished);  // WHY?
-    } else {
-        d->queueFinishDebugger();
-    }
+    d->queueFinishDebugger();
 }
 
 void DebuggerEnginePrivate::doFinishDebugger()
@@ -1494,8 +1486,10 @@ void DebuggerEngine::setState(DebuggerState state, bool forced)
 
 void DebuggerEngine::updateViews()
 {
-    // FIXME: This should not be done for slave engines.
-    plugin()->updateState(this);
+    // The slave engines are not entitled to change the view. Their wishes
+    // should be coordinated by their master engine.
+    if (isSlaveEngine())
+        plugin()->updateState(this);
 }
 
 bool DebuggerEngine::isSlaveEngine() const
-- 
GitLab