summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--application/UpdateController.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/application/UpdateController.cpp b/application/UpdateController.cpp
index e3d8f2fb..8df5b3fc 100644
--- a/application/UpdateController.cpp
+++ b/application/UpdateController.cpp
@@ -273,8 +273,26 @@ void UpdateController::installUpdates()
}
}
+ // FIXME: reparse args and construct a safe variant from scratch. This is a workaround for GH-1874:
+ QStringList realargs;
+ int skip = 0;
+ for(auto & arg: args)
+ {
+ if(skip)
+ {
+ skip--;
+ continue;
+ }
+ if(arg == "-l")
+ {
+ skip = 1;
+ continue;
+ }
+ realargs.append(arg);
+ }
+
// start the updated application
- started = QProcess::startDetached(finishCmd, args, QDir::currentPath(), &pid);
+ started = QProcess::startDetached(finishCmd, realargs, QDir::currentPath(), &pid);
// much dumber check - just find out if the call
if(!started || pid == -1)
{