From 23e06304f8b6c917a9fbbb4b34f7af02d5096913 Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Date: Mon, 9 Nov 2009 22:07:56 +0100
Subject: [PATCH] further cleanups in less expected shutdown paths

Reviewed-by: hjk
---
 src/plugins/debugger/gdb/gdbengine.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 11e0860b11c..b7e231434b5 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -285,6 +285,8 @@ void GdbEngine::initializeVariables()
 
     m_inbuffer.clear();
 
+    m_commandTimer->stop();
+
     // ConverterState has no reset() function.
     m_outputCodecState.~ConverterState();
     new (&m_outputCodecState) QTextCodec::ConverterState();
@@ -1456,6 +1458,7 @@ void GdbEngine::shutdown()
     case InferiorRunning:
     case InferiorStopping:
     case InferiorStopped:
+        m_commandsToRunOnTemporaryBreak.clear();
         postCommand(_(m_gdbAdapter->inferiorShutdownCommand()),
                     NeedsStop | LosesChild, CB(handleInferiorShutdown));
         break;
@@ -1496,6 +1499,7 @@ void GdbEngine::handleGdbExit(const GdbResponse &response)
 {
     if (response.resultClass == GdbResultExit) {
         debugMessage(_("GDB CLAIMS EXIT; WAITING"));
+        m_commandsDoneCallback = 0;
         // don't set state here, this will be handled in handleGdbFinished()
     } else {
         QString msg = m_gdbAdapter->msgGdbStopFailed(_(response.data.findChild("msg").data()));
-- 
GitLab