From 67b8e8f9b1d6af5700b44229b0add1cdcc388702 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Fri, 17 Sep 2021 11:39:33 +0200 Subject: [PATCH] Reaper: do not disconnect process before reaping AbstractProcessStep is relying on signals which breaks with the disconnect call. Amends ebae255e49cd2c5411f6948417e0d927dd020525 Fixes: QTCREATORBUG-26271 Change-Id: I16ebaad68352be5c41492e5c4d4fbc3f032e2e39 Reviewed-by: Jarek Kobus Reviewed-by: Christian Kandeler Reviewed-by: Eike Ziller --- src/plugins/cmakeprojectmanager/cmakeprocess.cpp | 4 +++- src/plugins/coreplugin/reaper.cpp | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakeprocess.cpp b/src/plugins/cmakeprojectmanager/cmakeprocess.cpp index 45c820974a4..ae39d5f9182 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprocess.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeprocess.cpp @@ -57,8 +57,10 @@ CMakeProcess::CMakeProcess() CMakeProcess::~CMakeProcess() { - if (m_process) + if (m_process) { + m_process->disconnect(); Core::Reaper::reap(m_process.release()); + } m_parser.flush(); diff --git a/src/plugins/coreplugin/reaper.cpp b/src/plugins/coreplugin/reaper.cpp index c10c460e62c..78c9d40d411 100644 --- a/src/plugins/coreplugin/reaper.cpp +++ b/src/plugins/coreplugin/reaper.cpp @@ -159,7 +159,6 @@ void reap(QtcProcess *process, int timeoutMs) process->setStdOutCallback(nullptr); process->setStdErrCallback(nullptr); - process->disconnect(); QTC_ASSERT(Internal::d, return);