From f8cdcfd70ccdd9d558dbb665726002c98f48bd08 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 11 Dec 2023 13:47:57 +0100 Subject: [PATCH] ProjectExplorer: Fix shutting down unreachable remote processes We forgot to reset the state, which gave us a permanently broken run control, preventing re-starting the application, among other things. Change-Id: I7c168e31e015fdf7002c57aba0ed2178437a15ae Reviewed-by: Qt CI Bot Reviewed-by: Jarek Kobus --- src/plugins/projectexplorer/runcontrol.cpp | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/plugins/projectexplorer/runcontrol.cpp b/src/plugins/projectexplorer/runcontrol.cpp index 76eed5c5c2c..eac873875c6 100644 --- a/src/plugins/projectexplorer/runcontrol.cpp +++ b/src/plugins/projectexplorer/runcontrol.cpp @@ -1305,16 +1305,18 @@ void SimpleTargetRunnerPrivate::stop() m_stopRequested = true; q->appendMessage(Tr::tr("User requested stop. Shutting down..."), NormalMessageFormat); switch (m_state) { - case Run: - m_process.stop(); - if (!m_process.waitForFinished(2000)) { // TODO: it may freeze on some devices - QTC_CHECK(false); // Shouldn't happen, just emergency handling - m_process.close(); - forwardDone(); - } - break; - case Inactive: - break; + case Run: + m_process.stop(); + if (!m_process.waitForFinished(2000)) { // TODO: it may freeze on some devices + q->appendMessage(Tr::tr("Remote process did not finish in time. " + "Connectivity lost?"), ErrorMessageFormat); + m_process.close(); + m_state = Inactive; + forwardDone(); + } + break; + case Inactive: + break; } } }