forked from qt-creator/qt-creator
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:
@@ -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()),
|
||||||
|
@@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user