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);