diff --git a/src/libs/utils/launchersocket.cpp b/src/libs/utils/launchersocket.cpp index a044089e772..050d3d1fb02 100644 --- a/src/libs/utils/launchersocket.cpp +++ b/src/libs/utils/launchersocket.cpp @@ -222,21 +222,28 @@ void CallerHandle::handleStarted(const StartedSignal *launcherSignal) void CallerHandle::handleReadyRead(const ReadyReadSignal *launcherSignal) { QTC_ASSERT(isCalledFromCallersThread(), return); - if (m_setup->m_processChannelMode == QProcess::ForwardedOutputChannel - || m_setup->m_processChannelMode == QProcess::ForwardedChannels) { - std::cout << launcherSignal->stdOut().constData() << std::flush; - } else { + if (m_setup->m_processChannelMode == QProcess::MergedChannels) { m_stdout += launcherSignal->stdOut(); + m_stdout += launcherSignal->stdErr(); if (!m_stdout.isEmpty()) emit readyReadStandardOutput(); - } - if (m_setup->m_processChannelMode == QProcess::ForwardedErrorChannel - || m_setup->m_processChannelMode == QProcess::ForwardedChannels) { - std::cerr << launcherSignal->stdErr().constData() << std::flush; } else { - m_stderr += launcherSignal->stdErr(); - if (!m_stderr.isEmpty()) - emit readyReadStandardError(); + if (m_setup->m_processChannelMode == QProcess::ForwardedOutputChannel + || m_setup->m_processChannelMode == QProcess::ForwardedChannels) { + std::cout << launcherSignal->stdOut().constData() << std::flush; + } else { + m_stdout += launcherSignal->stdOut(); + if (!m_stdout.isEmpty()) + emit readyReadStandardOutput(); + } + if (m_setup->m_processChannelMode == QProcess::ForwardedErrorChannel + || m_setup->m_processChannelMode == QProcess::ForwardedChannels) { + std::cerr << launcherSignal->stdErr().constData() << std::flush; + } else { + m_stderr += launcherSignal->stdErr(); + if (!m_stderr.isEmpty()) + emit readyReadStandardError(); + } } } diff --git a/src/tools/processlauncher/launchersockethandler.cpp b/src/tools/processlauncher/launchersockethandler.cpp index e3468aa53e4..054a6e3966f 100644 --- a/src/tools/processlauncher/launchersockethandler.cpp +++ b/src/tools/processlauncher/launchersockethandler.cpp @@ -205,8 +205,6 @@ void LauncherSocketHandler::handleStartPacket() process->setEnvironment(packet.env); process->setWorkingDirectory(packet.workingDir); // Forwarding is handled by the LauncherInterface - process->setProcessChannelMode(packet.processChannelMode == QProcess::MergedChannels - ? QProcess::MergedChannels : QProcess::SeparateChannels); process->setStandardInputFile(packet.standardInputFile); ProcessStartHandler *handler = process->processStartHandler(); handler->setProcessMode(packet.processMode);