diff --git a/src/libs/utils/archive.cpp b/src/libs/utils/archive.cpp index fcef2c22b04..9ff64a5a91c 100644 --- a/src/libs/utils/archive.cpp +++ b/src/libs/utils/archive.cpp @@ -186,12 +186,11 @@ void Archive::unarchive() QObject::connect(m_process.get(), &QtcProcess::readyReadStandardOutput, this, [this] { emit outputReceived(QString::fromUtf8(m_process->readAllStandardOutput())); }); - QObject::connect(m_process.get(), &QtcProcess::finished, this, [this] { - emit finished(m_process->result() == ProcessResult::FinishedWithSuccess); - }); - QObject::connect(m_process.get(), &QtcProcess::errorOccurred, this, [this] { - emit outputReceived(tr("Command failed.")); - emit finished(false); + QObject::connect(m_process.get(), &QtcProcess::done, this, [this] { + const bool successfulFinish = m_process->result() == ProcessResult::FinishedWithSuccess; + if (!successfulFinish) + emit outputReceived(tr("Command failed.")); + emit finished(successfulFinish); }); emit outputReceived(tr("Running %1\nin \"%2\".\n\n", "Running in ")