forked from qt-creator/qt-creator
PerforceChecker: Connect to QtcProcess::done() signal
Instead of connecting to errorOccurred() and finished() signals. Change-Id: I111ea0c0bf7a68a4aa016ae789ee6ee269403808 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -41,8 +41,7 @@ namespace Internal {
|
|||||||
|
|
||||||
PerforceChecker::PerforceChecker(QObject *parent) : QObject(parent)
|
PerforceChecker::PerforceChecker(QObject *parent) : QObject(parent)
|
||||||
{
|
{
|
||||||
connect(&m_process, &QtcProcess::errorOccurred, this, &PerforceChecker::slotError);
|
connect(&m_process, &QtcProcess::done, this, &PerforceChecker::slotDone);
|
||||||
connect(&m_process, &QtcProcess::finished, this, &PerforceChecker::slotFinished);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PerforceChecker::~PerforceChecker()
|
PerforceChecker::~PerforceChecker()
|
||||||
@@ -112,30 +111,15 @@ void PerforceChecker::slotTimeOut()
|
|||||||
emitFailed(tr("\"%1\" timed out after %2 ms.").arg(m_binary.toUserOutput()).arg(m_timeOutMS));
|
emitFailed(tr("\"%1\" timed out after %2 ms.").arg(m_binary.toUserOutput()).arg(m_timeOutMS));
|
||||||
}
|
}
|
||||||
|
|
||||||
void PerforceChecker::slotError(QProcess::ProcessError error)
|
void PerforceChecker::slotDone()
|
||||||
{
|
{
|
||||||
if (m_timedOut)
|
if (m_timedOut)
|
||||||
return;
|
return;
|
||||||
switch (error) {
|
if (m_process.error() == QProcess::FailedToStart) {
|
||||||
case QProcess::FailedToStart:
|
|
||||||
emitFailed(tr("Unable to launch \"%1\": %2").
|
emitFailed(tr("Unable to launch \"%1\": %2").
|
||||||
arg(m_binary.toUserOutput(), m_process.errorString()));
|
arg(m_binary.toUserOutput(), m_process.errorString()));
|
||||||
break;
|
|
||||||
case QProcess::Crashed: // Handled elsewhere
|
|
||||||
case QProcess::Timedout:
|
|
||||||
break;
|
|
||||||
case QProcess::ReadError:
|
|
||||||
case QProcess::WriteError:
|
|
||||||
case QProcess::UnknownError:
|
|
||||||
m_process.stopProcess();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void PerforceChecker::slotFinished()
|
|
||||||
{
|
|
||||||
if (m_timedOut)
|
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
switch (m_process.exitStatus()) {
|
switch (m_process.exitStatus()) {
|
||||||
case QProcess::CrashExit:
|
case QProcess::CrashExit:
|
||||||
emitFailed(tr("\"%1\" crashed.").arg(m_binary.toUserOutput()));
|
emitFailed(tr("\"%1\" crashed.").arg(m_binary.toUserOutput()));
|
||||||
|
@@ -59,8 +59,7 @@ signals:
|
|||||||
void failed(const QString &errorMessage);
|
void failed(const QString &errorMessage);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void slotError(QProcess::ProcessError error);
|
void slotDone();
|
||||||
void slotFinished();
|
|
||||||
void slotTimeOut();
|
void slotTimeOut();
|
||||||
|
|
||||||
void emitFailed(const QString &);
|
void emitFailed(const QString &);
|
||||||
|
Reference in New Issue
Block a user