startkde: Forward stdout/stderr of started processes

QProcess::start defaults to capturing all output, but that got lost as it is
never read. Set QProcess::ForwardedChannels explicitly where it was missing,
so that output ends up in the correct place again.

(cherry picked from commit d1155030af)
wilder-5.24
Fabian Vogt 4 years ago
parent 9b307559ef
commit b525767c86
  1. 2
      startkde/plasma-session/startup.cpp
  2. 1
      startkde/startplasma.cpp

@ -246,6 +246,7 @@ bool Startup::startDetached(const QString &program, const QStringList &args)
bool Startup::startDetached(QProcess *process)
{
process->setProcessChannelMode(QProcess::ForwardedChannels);
process->start();
const bool ret = process->waitForStarted();
if (ret) {
@ -428,6 +429,7 @@ StartProcessJob::StartProcessJob(const QString &process, const QStringList &args
{
m_process->setProgram(process);
m_process->setArguments(args);
m_process->setProcessChannelMode(QProcess::ForwardedChannels);
auto env = QProcessEnvironment::systemEnvironment();
env.insert(additionalEnv);
m_process->setProcessEnvironment(env);

@ -500,6 +500,7 @@ QProcess *setupKSplash()
KConfigGroup ksplashCfg = cfg.group("KSplash");
if (ksplashCfg.readEntry("Engine", QStringLiteral("KSplashQML")) == QLatin1String("KSplashQML")) {
p = new QProcess;
p->setProcessChannelMode(QProcess::ForwardedChannels);
p->start(QStringLiteral("ksplashqml"), {ksplashCfg.readEntry("Theme", QStringLiteral("Breeze"))});
}
}

Loading…
Cancel
Save