From 179d8dce7341effd3791e80a90f6fe7b37471671 Mon Sep 17 00:00:00 2001 From: Ivan Donchevskii Date: Tue, 9 Oct 2018 10:01:16 +0200 Subject: [PATCH] Clang: Merge channels from clangbackend on Windows DebugView app can't view error channel therefore logging output from clangbackend is not visible. Merging both channels solves the issue. Change-Id: Iadfd97e3ec8c48afddd880647d9c3fe1c707e241 Reviewed-by: Nikolai Kosjar --- src/libs/clangsupport/processcreator.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/libs/clangsupport/processcreator.cpp b/src/libs/clangsupport/processcreator.cpp index 22b52793e30..aa9ba9641a5 100644 --- a/src/libs/clangsupport/processcreator.cpp +++ b/src/libs/clangsupport/processcreator.cpp @@ -36,6 +36,13 @@ namespace ClangBackEnd { using namespace std::chrono_literals; +static QProcess::ProcessChannelMode kProcessChannelMode +#ifdef Q_OS_WIN + = QProcess::MergedChannels; +#else + = QProcess::ForwardedChannels; +#endif + ProcessCreator::ProcessCreator() { } @@ -66,7 +73,7 @@ std::future ProcessCreator::createProcess() const return std::async(std::launch::async, [&] { checkIfProcessPathExists(); auto process = QProcessUniquePointer(new QProcess); - process->setProcessChannelMode(QProcess::QProcess::ForwardedChannels); + process->setProcessChannelMode(kProcessChannelMode); process->setProcessEnvironment(processEnvironment()); process->start(m_processPath, m_arguments); process->waitForStarted(5000);