From cd6d2b0cd8cdbc20bcb9bcb7f056c28bd718554a Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Wed, 3 Nov 2021 16:21:36 +0100 Subject: [PATCH] Use QtcProcess in QbsSession Change-Id: I1220bb533e4d7aa0577860b750a7d97e2139bc20 Reviewed-by: Christian Kandeler --- src/plugins/qbsprojectmanager/qbssession.cpp | 24 ++++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/plugins/qbsprojectmanager/qbssession.cpp b/src/plugins/qbsprojectmanager/qbssession.cpp index c374f75d9d5..94bb7899bfd 100644 --- a/src/plugins/qbsprojectmanager/qbssession.cpp +++ b/src/plugins/qbsprojectmanager/qbssession.cpp @@ -35,12 +35,12 @@ #include #include #include +#include #include #include #include #include -#include #include #include @@ -149,7 +149,7 @@ private: class QbsSession::Private { public: - QProcess *qbsProcess = nullptr; + QtcProcess *qbsProcess = nullptr; PacketReader *packetReader = nullptr; QJsonObject currentRequest; QJsonObject projectData; @@ -167,18 +167,18 @@ QbsSession::QbsSession(QObject *parent) : QObject(parent), d(new Private) void QbsSession::initialize() { - QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); - env.insert("QT_FORCE_STDERR_LOGGING", "1"); + Environment env = Environment::systemEnvironment(); + env.set("QT_FORCE_STDERR_LOGGING", "1"); d->packetReader = new PacketReader(this); - d->qbsProcess = new QProcess(this); - d->qbsProcess->setProcessEnvironment(env); - connect(d->qbsProcess, &QProcess::readyReadStandardOutput, this, [this] { + d->qbsProcess = new QtcProcess(ProcessMode::Writer, this); + d->qbsProcess->setEnvironment(env); + connect(d->qbsProcess, &QtcProcess::readyReadStandardOutput, this, [this] { d->packetReader->handleData(d->qbsProcess->readAllStandardOutput()); }); - connect(d->qbsProcess, &QProcess::readyReadStandardError, this, [this] { + connect(d->qbsProcess, &QtcProcess::readyReadStandardError, this, [this] { qCDebug(qbsPmLog) << "[qbs stderr]: " << d->qbsProcess->readAllStandardError(); }); - connect(d->qbsProcess, &QProcess::errorOccurred, this, [this](QProcess::ProcessError e) { + connect(d->qbsProcess, &QtcProcess::errorOccurred, this, [this](QProcess::ProcessError e) { d->eventLoop.exit(1); if (state() == State::ShuttingDown || state() == State::Inactive) return; @@ -196,8 +196,7 @@ void QbsSession::initialize() break; } }); - connect(d->qbsProcess, QOverload::of(&QProcess::finished), this, - [this] { + connect(d->qbsProcess, &QtcProcess::finished, this, [this] { d->qbsProcess->deleteLater(); switch (state()) { case State::Inactive: @@ -225,7 +224,8 @@ void QbsSession::initialize() QTimer::singleShot(0, this, [this] { setError(Error::QbsFailedToStart); }); return; } - d->qbsProcess->start(qbsExe.toString(), {"session"}); + d->qbsProcess->setCommand({qbsExe, {"session"}}); + d->qbsProcess->start(); } void QbsSession::sendQuitPacket()