AndroidDeployQtStep: Make m_process local

There is no need to keep m_process as a class member,
since it's only used in just one function.

Change-Id: I156b978a18ab25a41b0e52d00fcb90c0f7f12ddd
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Jarek Kobus
2022-03-21 17:47:24 +01:00
parent 127ca236a7
commit bd7949f852
2 changed files with 16 additions and 19 deletions

View File

@@ -324,53 +324,51 @@ AndroidDeployQtStep::DeployErrorCode AndroidDeployQtStep::runDeploy()
cmd.addArgs({"install", "-r", m_apkPath.toString()}); cmd.addArgs({"install", "-r", m_apkPath.toString()});
} }
m_process = new QtcProcess; QtcProcess process;
m_process->setCommand(cmd); process.setCommand(cmd);
m_process->setWorkingDirectory(m_workingDirectory); process.setWorkingDirectory(m_workingDirectory);
m_process->setEnvironment(m_environment); process.setEnvironment(m_environment);
m_process->setUseCtrlCStub(true); process.setUseCtrlCStub(true);
DeployErrorCode deployError = NoError; DeployErrorCode deployError = NoError;
m_process->setStdOutLineCallback([this, &deployError](const QString &line) { process.setStdOutLineCallback([this, &deployError](const QString &line) {
deployError |= parseDeployErrors(line); deployError |= parseDeployErrors(line);
stdOutput(line); stdOutput(line);
}); });
m_process->setStdErrLineCallback([this, &deployError](const QString &line) { process.setStdErrLineCallback([this, &deployError](const QString &line) {
deployError |= parseDeployErrors(line); deployError |= parseDeployErrors(line);
stdError(line); stdError(line);
}); });
m_process->start(); process.start();
emit addOutput(tr("Starting: \"%1\"").arg(cmd.toUserOutput()), OutputFormat::NormalMessage); emit addOutput(tr("Starting: \"%1\"").arg(cmd.toUserOutput()), OutputFormat::NormalMessage);
while (!m_process->waitForFinished(200)) { while (!process.waitForFinished(200)) {
if (m_process->state() == QProcess::NotRunning) if (process.state() == QProcess::NotRunning)
break; break;
if (isCanceled()) { if (isCanceled()) {
m_process->kill(); process.kill();
m_process->waitForFinished(); process.waitForFinished();
} }
} }
QString line = QString::fromLocal8Bit(m_process->readAllStandardError()); QString line = QString::fromLocal8Bit(process.readAllStandardError());
if (!line.isEmpty()) { if (!line.isEmpty()) {
deployError |= parseDeployErrors(line); deployError |= parseDeployErrors(line);
stdError(line); stdError(line);
} }
line = QString::fromLocal8Bit(m_process->readAllStandardOutput()); line = QString::fromLocal8Bit(process.readAllStandardOutput());
if (!line.isEmpty()) { if (!line.isEmpty()) {
deployError |= parseDeployErrors(line); deployError |= parseDeployErrors(line);
stdOutput(line); stdOutput(line);
} }
QProcess::ExitStatus exitStatus = m_process->exitStatus(); const QProcess::ExitStatus exitStatus = process.exitStatus();
int exitCode = m_process->exitCode(); const int exitCode = process.exitCode();
delete m_process;
m_process = nullptr;
if (exitStatus == QProcess::NormalExit && exitCode == 0) { if (exitStatus == QProcess::NormalExit && exitCode == 0) {
emit addOutput(tr("The process \"%1\" exited normally.").arg(m_command.toUserOutput()), emit addOutput(tr("The process \"%1\" exited normally.").arg(m_command.toUserOutput()),

View File

@@ -112,7 +112,6 @@ private:
Utils::FilePath m_command; Utils::FilePath m_command;
Utils::FilePath m_workingDirectory; Utils::FilePath m_workingDirectory;
Utils::Environment m_environment; Utils::Environment m_environment;
Utils::QtcProcess *m_process = nullptr;
AndroidDeviceInfo m_deviceInfo; AndroidDeviceInfo m_deviceInfo;
}; };