From f318dcde4b685508ad65a9f8d084ebfd02a13de2 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 27 Oct 2017 13:27:26 +0200 Subject: [PATCH] Debugger: Move LldbEngine connections to constructor Doing it on startup duplicates the connections on re-run. Change-Id: Idccd039b4a005a96b9a20d99e663fc636b2e67c9 Reviewed-by: Filipe Azevedo Reviewed-by: hjk Reviewed-by: Christian Stenger --- src/plugins/debugger/lldb/lldbengine.cpp | 26 +++++++++++------------- src/plugins/debugger/lldb/lldbengine.h | 1 - 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp index e9f4e78bfb3..2707ed6193d 100644 --- a/src/plugins/debugger/lldb/lldbengine.cpp +++ b/src/plugins/debugger/lldb/lldbengine.cpp @@ -95,6 +95,18 @@ LldbEngine::LldbEngine() this, &LldbEngine::updateLocals); connect(action(IntelFlavor), &SavedAction::valueChanged, this, &LldbEngine::updateAll); + + connect(&m_lldbProc, &QProcess::errorOccurred, + this, &LldbEngine::handleLldbError); + connect(&m_lldbProc, static_cast(&QProcess::finished), + this, &LldbEngine::handleLldbFinished); + connect(&m_lldbProc, &QProcess::readyReadStandardOutput, + this, &LldbEngine::readLldbStandardOutput); + connect(&m_lldbProc, &QProcess::readyReadStandardError, + this, &LldbEngine::readLldbStandardError); + + connect(this, &LldbEngine::outputReady, + this, &LldbEngine::handleResponse, Qt::QueuedConnection); } LldbEngine::~LldbEngine() @@ -166,22 +178,8 @@ void LldbEngine::abortDebuggerProcess() void LldbEngine::setupEngine() { QTC_ASSERT(state() == EngineSetupRequested, qDebug() << state()); - startLldb(); -} -void LldbEngine::startLldb() -{ QString lldbCmd = runParameters().debugger.executable; - connect(&m_lldbProc, &QProcess::errorOccurred, this, &LldbEngine::handleLldbError); - connect(&m_lldbProc, static_cast(&QProcess::finished), - this, &LldbEngine::handleLldbFinished); - connect(&m_lldbProc, &QProcess::readyReadStandardOutput, - this, &LldbEngine::readLldbStandardOutput); - connect(&m_lldbProc, &QProcess::readyReadStandardError, - this, &LldbEngine::readLldbStandardError); - - connect(this, &LldbEngine::outputReady, - this, &LldbEngine::handleResponse, Qt::QueuedConnection); showMessage("STARTING LLDB: " + lldbCmd); m_lldbProc.setEnvironment(runParameters().debugger.environment); diff --git a/src/plugins/debugger/lldb/lldbengine.h b/src/plugins/debugger/lldb/lldbengine.h index 9bc4a0b7c93..4e0e84ac928 100644 --- a/src/plugins/debugger/lldb/lldbengine.h +++ b/src/plugins/debugger/lldb/lldbengine.h @@ -72,7 +72,6 @@ private: void executeNextI() override; void setupEngine() override; - void startLldb(); void startLldbStage2(); void setupInferior() override; void runEngine() override;