Fix a call to endFeed() when process wasn't started

Fixes the tst_qtcprocess::lineCallbackIntern() test.

Change-Id: Id608ab834deaccf854f3d8ff9f4a172de58ef9a2
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
Jarek Kobus
2022-03-04 17:10:39 +01:00
parent a7f867ab06
commit 65dd738a01

View File

@@ -643,6 +643,7 @@ public:
void slotTimeout(); void slotTimeout();
void slotFinished(); void slotFinished();
void handleFinished(int exitCode, QProcess::ExitStatus status);
void handleError(QProcess::ProcessError error); void handleError(QProcess::ProcessError error);
void clearForRun(); void clearForRun();
@@ -1361,7 +1362,7 @@ void QtcProcess::beginFeed()
void QtcProcess::endFeed() void QtcProcess::endFeed()
{ {
d->slotFinished(); d->handleFinished(0, QProcess::NormalExit);
} }
void QtcProcess::feedStdOut(const QByteArray &data) void QtcProcess::feedStdOut(const QByteArray &data)
@@ -1714,8 +1715,12 @@ void QtcProcessPrivate::slotTimeout()
void QtcProcessPrivate::slotFinished() void QtcProcessPrivate::slotFinished()
{ {
const int exitCode = m_process->exitCode(); handleFinished(m_process->exitCode(), m_process->exitStatus());
const QProcess::ExitStatus status = m_process->exitStatus(); q->emitFinished();
}
void QtcProcessPrivate::handleFinished(int exitCode, QProcess::ExitStatus status)
{
if (debug) if (debug)
qDebug() << Q_FUNC_INFO << exitCode << status; qDebug() << Q_FUNC_INFO << exitCode << status;
m_hangTimerCount = 0; m_hangTimerCount = 0;
@@ -1735,8 +1740,6 @@ void QtcProcessPrivate::slotFinished()
m_stdOut.handleRest(); m_stdOut.handleRest();
m_stdErr.handleRest(); m_stdErr.handleRest();
q->emitFinished();
} }
void QtcProcessPrivate::handleError(QProcess::ProcessError error) void QtcProcessPrivate::handleError(QProcess::ProcessError error)