QbsSession: Connect to done() signal

Instead of connecting to errorOccurred() and finished() signals.

Change-Id: I164338c17acf6ec0eff5c514d6919a27c3feaae8
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Jarek Kobus
2022-06-16 15:27:39 +02:00
parent 5ee880ce5e
commit aa117f9955

View File

@@ -182,23 +182,12 @@ void QbsSession::initialize()
connect(d->qbsProcess, &QtcProcess::readyReadStandardError, this, [this] { connect(d->qbsProcess, &QtcProcess::readyReadStandardError, this, [this] {
qCDebug(qbsPmLog) << "[qbs stderr]: " << d->qbsProcess->readAllStandardError(); qCDebug(qbsPmLog) << "[qbs stderr]: " << d->qbsProcess->readAllStandardError();
}); });
connect(d->qbsProcess, &QtcProcess::errorOccurred, this, [this](QProcess::ProcessError e) { connect(d->qbsProcess, &QtcProcess::done, this, [this] {
if (d->qbsProcess->result() == ProcessResult::StartFailed) {
d->eventLoop.exit(1); d->eventLoop.exit(1);
switch (e) {
case QProcess::FailedToStart:
setError(Error::QbsFailedToStart); setError(Error::QbsFailedToStart);
break; return;
case QProcess::WriteError:
case QProcess::ReadError:
setError(Error::ProtocolError);
break;
case QProcess::Crashed:
case QProcess::Timedout:
case QProcess::UnknownError:
break;
} }
});
connect(d->qbsProcess, &QtcProcess::finished, this, [this] {
d->qbsProcess->deleteLater(); d->qbsProcess->deleteLater();
switch (d->state) { switch (d->state) {
case State::Inactive: case State::Inactive: