aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Barany <akb825@gmail.com>2022-04-19 01:24:43 -0700
committerAaron Barany <akb825@gmail.com>2022-04-19 09:42:30 +0000
commit90e879bbd130f94cadfb5ab1241a7fafe9a2a1f9 (patch)
tree929e945bf13c35a40b9b2e23842f60bfd0e6528e
parent6015a4d839917cd0f8c6b66ae160ee26322e7860 (diff)
ProcessLauncher: avoid reading stderr for merged channels
This will assert on Qt 6.3.0 and print a warning for Qt 6.3.1 and later. Change-Id: I837fbde3358a5a0e5cc29b8486ed7b4e9837a976 Fixes: QTCREATORBUG-27385 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
-rw-r--r--src/tools/processlauncher/launchersockethandler.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/tools/processlauncher/launchersockethandler.cpp b/src/tools/processlauncher/launchersockethandler.cpp
index 21e7e7624e..52db9b4523 100644
--- a/src/tools/processlauncher/launchersockethandler.cpp
+++ b/src/tools/processlauncher/launchersockethandler.cpp
@@ -182,7 +182,8 @@ void LauncherSocketHandler::handleProcessFinished()
packet.errorString = proc->errorString();
packet.exitCode = proc->exitCode();
packet.exitStatus = proc->exitStatus();
- packet.stdErr = proc->readAllStandardError();
+ if (proc->processChannelMode() != QProcess::MergedChannels)
+ packet.stdErr = proc->readAllStandardError();
packet.stdOut = proc->readAllStandardOutput();
sendPacket(packet);
removeProcess(proc->token());
@@ -257,7 +258,8 @@ void LauncherSocketHandler::handleStopPacket()
packet.error = QProcess::Crashed;
packet.exitCode = -1;
packet.exitStatus = QProcess::CrashExit;
- packet.stdErr = process->readAllStandardError();
+ if (process->processChannelMode() != QProcess::MergedChannels)
+ packet.stdErr = process->readAllStandardError();
packet.stdOut = process->readAllStandardOutput();
sendPacket(packet);
}