From 5b4e652b26f58abdae2e3021bcf69f5c21226100 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 4 Jan 2021 16:54:33 +0100 Subject: [PATCH] ProParser: Do not open a write channel for processes invoked for system() If a process invoked via one of qmake's system() functions attempts to read from stdin, it will currently hang Qt Creator. Prevent that. Task-number: QTCREATORBUG-25194 Change-Id: I9c6411bcb2fb8e0d2705252cc6d27900472906a1 Reviewed-by: Joerg Bornemann --- src/shared/proparser/qmakebuiltins.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/shared/proparser/qmakebuiltins.cpp b/src/shared/proparser/qmakebuiltins.cpp index 724bd9624b1..fe12f2d32e5 100644 --- a/src/shared/proparser/qmakebuiltins.cpp +++ b/src/shared/proparser/qmakebuiltins.cpp @@ -458,6 +458,7 @@ QMakeEvaluator::writeFile(const QString &ctx, const QString &fn, QIODevice::Open void QMakeEvaluator::runProcess(QProcess *proc, const QString &command) const { proc->setWorkingDirectory(currentDirectory()); + proc->setStandardInputFile(QProcess::nullDevice()); # ifdef PROEVALUATOR_SETENV if (!m_option->environment.isEmpty()) { QProcessEnvironment env = m_option->environment;