From 1ce92c0ed6fad332c1ef7a1eb1d770fbd23932fb Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Tue, 29 Sep 2009 10:58:35 +0200
Subject: [PATCH] debugger: centralize view cleanup  in the manager to
 setState(DebuggerNotReady)

---
 src/plugins/debugger/debuggermanager.cpp | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp
index 34e0348e2c9..27524c49fea 100644
--- a/src/plugins/debugger/debuggermanager.cpp
+++ b/src/plugins/debugger/debuggermanager.cpp
@@ -1027,11 +1027,10 @@ void DebuggerManager::cleanupViews()
 
 void DebuggerManager::exitDebugger()
 {
-    STATE_DEBUG("");
-    if (d->m_engine)
+    // The engine will finally call setState(DebuggerNotReady) which
+    // in turn will handle the cleanup.
+    if (d->m_engine && state() != DebuggerNotReady)
         d->m_engine->exitDebugger();
-    cleanupViews();
-    setState(DebuggerNotReady);
 }
 
 DebuggerStartParametersPtr DebuggerManager::startParameters() const
@@ -1139,19 +1138,13 @@ void DebuggerManager::executeDebuggerCommand(const QString &command)
 
 void DebuggerManager::sessionLoaded()
 {
-    cleanupViews();
-    setState(DebuggerNotReady);
-    setBusyCursor(false);
     loadSessionData();
 }
 
 void DebuggerManager::aboutToUnloadSession()
 {
-    cleanupViews();
     if (d->m_engine)
         d->m_engine->shutdown();
-    setState(DebuggerNotReady);
-    setBusyCursor(false);
 }
 
 void DebuggerManager::aboutToSaveSession()
@@ -1626,6 +1619,7 @@ void DebuggerManager::setState(DebuggerState state)
 
     if (d->m_state == DebuggerNotReady) {
         setBusyCursor(false);
+        cleanupViews();
         emit debuggingFinished();
     }
 
-- 
GitLab