summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <qtc-committer@nokia.com>2009-09-29 10:58:35 +0200
committerhjk <qtc-committer@nokia.com>2009-09-29 10:59:46 +0200
commit1ce92c0ed6fad332c1ef7a1eb1d770fbd23932fb (patch)
tree4e4c11e54cf6573266a7a03929af6ad1b4e155ac
parent37add8b52dee210f7022180c94d6770d14e09390 (diff)
downloadqt-creator-1ce92c0ed6fad332c1ef7a1eb1d770fbd23932fb.tar.gz
debugger: centralize view cleanup in the manager to setState(DebuggerNotReady)
-rw-r--r--src/plugins/debugger/debuggermanager.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp
index 34e0348e2c..27524c49fe 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();
}