summaryrefslogtreecommitdiffstats
path: root/src/tools/controller/controller.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/controller/controller.cpp')
-rw-r--r--src/tools/controller/controller.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/tools/controller/controller.cpp b/src/tools/controller/controller.cpp
index a52631ac..1b420fb0 100644
--- a/src/tools/controller/controller.cpp
+++ b/src/tools/controller/controller.cpp
@@ -395,7 +395,7 @@ int main(int argc, char *argv[])
clp.positionalArguments().at(2),
stdRedirections,
restart,
- args == 3 ? clp.positionalArguments().at(2) : QString()));
+ args == 4 ? clp.positionalArguments().at(3) : QString()));
break;
}
case StopAllApplications:
@@ -579,7 +579,11 @@ void startOrDebugApplication(const QString &debugWrapper, const QString &appId,
// pass 0: normal stop / pass 1: force kill
for (int pass = 0; !isStopped && (pass < 2); ++pass) {
- stopApplication(appId, pass == 0 ? false : true);
+
+ auto stopReply = dbus.manager()->stopApplication(appId, pass > 0 /*forceKill*/);
+ stopReply.waitForFinished();
+ if (stopReply.isError())
+ throw Exception(Error::IO, "failed to call stopApplication via DBus: %1").arg(stopReply.error().message());
static const int checksPerSecond = 10;