From 4977c91544a92b09063983c43ad5abbcc84608f7 Mon Sep 17 00:00:00 2001
From: hjk <hjk@qt.io>
Date: Mon, 16 Oct 2017 09:51:11 +0200
Subject: [PATCH] Debugger: Directly pass from engine to inferior setup in all
 engines

This removes the setupSlaveInferior() synchronization point which
wasn't really needed anymore as it was always triggered in
response to a notifyEngineSetupOk() of the master engine.

Change-Id: I24faec36b180fa961e10dfd88fe4d874f7310140
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
---
 src/plugins/debugger/debuggerengine.cpp   | 22 +++++-----------------
 src/plugins/debugger/debuggerengine.h     |  1 -
 src/plugins/debugger/qml/qmlcppengine.cpp |  4 ++--
 3 files changed, 7 insertions(+), 20 deletions(-)

diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
index 559382ce73d..81ad455a00c 100644
--- a/src/plugins/debugger/debuggerengine.cpp
+++ b/src/plugins/debugger/debuggerengine.cpp
@@ -230,7 +230,6 @@ public:
     }
 
     void doSetupEngine();
-    void doSetupInferior();
     void doRunEngine();
     void doShutdownEngine();
     void doShutdownInferior();
@@ -691,24 +690,13 @@ void DebuggerEngine::notifyEngineSetupOk()
     showMessage("NOTE: ENGINE SETUP OK");
     QTC_ASSERT(state() == EngineSetupRequested, qDebug() << this << state());
     setState(EngineSetupOk);
-    if (isMasterEngine() && runTool()) {
+    if (isMasterEngine() && runTool())
         runTool()->reportStarted();
-        d->doSetupInferior();
-    }
-}
 
-void DebuggerEngine::setupSlaveInferior()
-{
-    QTC_CHECK(state() == EngineSetupOk);
-    d->doSetupInferior();
-}
-
-void DebuggerEnginePrivate::doSetupInferior()
-{
-    m_engine->setState(InferiorSetupRequested);
-    m_engine->showMessage("CALL: SETUP INFERIOR");
-    m_progress.setProgressValue(250);
-    m_engine->setupInferior();
+    setState(InferiorSetupRequested);
+    showMessage("CALL: SETUP INFERIOR");
+    d->m_progress.setProgressValue(250);
+    setupInferior();
 }
 
 void DebuggerEngine::notifyInferiorSetupFailed()
diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h
index e7f267692b8..9def5109f74 100644
--- a/src/plugins/debugger/debuggerengine.h
+++ b/src/plugins/debugger/debuggerengine.h
@@ -470,7 +470,6 @@ protected:
     bool isStateDebugging() const;
     void setStateDebugging(bool on);
 
-    virtual void setupSlaveInferior();
     virtual void setupSlaveEngine();
     virtual void runSlaveEngine();
     virtual void shutdownSlaveEngine();
diff --git a/src/plugins/debugger/qml/qmlcppengine.cpp b/src/plugins/debugger/qml/qmlcppengine.cpp
index 77e5204dc9a..21e280ebfe4 100644
--- a/src/plugins/debugger/qml/qmlcppengine.cpp
+++ b/src/plugins/debugger/qml/qmlcppengine.cpp
@@ -380,8 +380,8 @@ void QmlCppEngine::setupEngine()
 void QmlCppEngine::setupInferior()
 {
     EDEBUG("\nMASTER SETUP INFERIOR");
-    m_qmlEngine->setupSlaveInferior();
-    m_cppEngine->setupSlaveInferior();
+    m_qmlEngine->setupInferior();
+    m_cppEngine->setupInferior();
 }
 
 void QmlCppEngine::runEngine()
-- 
GitLab