fix: remove filed codes '%f'
Signed-off-by: ComixHe <heyuming@deepin.org>
This commit is contained in:
parent
1776fa95d5
commit
2c1f35b820
@ -156,7 +156,6 @@ QDBusObjectPath ApplicationService::Launch(const QString &action, const QStringL
|
|||||||
}
|
}
|
||||||
|
|
||||||
cmds.append(std::move(execCmds));
|
cmds.append(std::move(execCmds));
|
||||||
qDebug() << "run application with:" << cmds;
|
|
||||||
auto &jobManager = static_cast<ApplicationManager1Service *>(parent())->jobManager();
|
auto &jobManager = static_cast<ApplicationManager1Service *>(parent())->jobManager();
|
||||||
return jobManager.addJob(
|
return jobManager.addJob(
|
||||||
m_applicationPath.path(),
|
m_applicationPath.path(),
|
||||||
@ -166,10 +165,16 @@ QDBusObjectPath ApplicationService::Launch(const QString &action, const QStringL
|
|||||||
auto objectPath = m_applicationPath.path() + "/" + instanceRandomUUID;
|
auto objectPath = m_applicationPath.path() + "/" + instanceRandomUUID;
|
||||||
commands.push_front(QString{"--SourcePath=%1"}.arg(m_desktopSource.sourcePath()));
|
commands.push_front(QString{"--SourcePath=%1"}.arg(m_desktopSource.sourcePath()));
|
||||||
|
|
||||||
|
auto location = commands.indexOf(R"(%f)");
|
||||||
|
if (location != -1) { // due to std::move, there only remove once
|
||||||
|
commands.remove(location);
|
||||||
|
}
|
||||||
|
|
||||||
if (resourceFile.isEmpty()) {
|
if (resourceFile.isEmpty()) {
|
||||||
commands.push_front(QString{R"(--unitName=app-DDE-%1@%2.service)"}.arg(
|
commands.push_front(QString{R"(--unitName=app-DDE-%1@%2.service)"}.arg(
|
||||||
escapeApplicationId(this->id()), instanceRandomUUID)); // launcher should use this instanceId
|
escapeApplicationId(this->id()), instanceRandomUUID)); // launcher should use this instanceId
|
||||||
QProcess process;
|
QProcess process;
|
||||||
|
qDebug() << "run with commands:" << commands;
|
||||||
process.start(m_launcher, commands);
|
process.start(m_launcher, commands);
|
||||||
process.waitForFinished();
|
process.waitForFinished();
|
||||||
if (auto code = process.exitCode(); code != 0) {
|
if (auto code = process.exitCode(); code != 0) {
|
||||||
@ -179,12 +184,6 @@ QDBusObjectPath ApplicationService::Launch(const QString &action, const QStringL
|
|||||||
return objectPath;
|
return objectPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
qsizetype location{0};
|
|
||||||
location = commands.indexOf(R"(%f)");
|
|
||||||
if (location != -1) { // due to std::move, there only remove once
|
|
||||||
commands.remove(location);
|
|
||||||
}
|
|
||||||
|
|
||||||
auto url = QUrl::fromUserInput(resourceFile);
|
auto url = QUrl::fromUserInput(resourceFile);
|
||||||
if (!url.isValid()) { // if url is invalid, passing to launcher directly
|
if (!url.isValid()) { // if url is invalid, passing to launcher directly
|
||||||
auto scheme = url.scheme();
|
auto scheme = url.scheme();
|
||||||
@ -197,6 +196,7 @@ QDBusObjectPath ApplicationService::Launch(const QString &action, const QStringL
|
|||||||
commands.insert(location, resourceFile);
|
commands.insert(location, resourceFile);
|
||||||
commands.push_front(QString{R"(--unitName=DDE-%1@%2.service)"}.arg(this->id(), instanceRandomUUID));
|
commands.push_front(QString{R"(--unitName=DDE-%1@%2.service)"}.arg(this->id(), instanceRandomUUID));
|
||||||
QProcess process;
|
QProcess process;
|
||||||
|
qDebug() << "run with commands:" << commands;
|
||||||
process.start(getApplicationLauncherBinary(), commands);
|
process.start(getApplicationLauncherBinary(), commands);
|
||||||
process.waitForFinished();
|
process.waitForFinished();
|
||||||
auto exitCode = process.exitCode();
|
auto exitCode = process.exitCode();
|
||||||
|
Loading…
Reference in New Issue
Block a user