Version 4.10: Fix spawning args on Linux.

This commit is contained in:
John Preston 2023-09-22 20:16:22 +04:00
parent 0d25b154d9
commit 16b1881268

View file

@ -54,13 +54,14 @@ bool Launcher::launchUpdater(UpdaterLaunch action) {
: (cExeDir() + u"Updater"_q); : (cExeDir() + u"Updater"_q);
argumentsList.push_back(launching.toStdString()); argumentsList.push_back(launching.toStdString());
// argv[0] that is passed to what we are launching. if (justRelaunch) {
const auto argv0 = (justRelaunch && !arguments().isEmpty()) // argv[0] that is passed to what we are launching.
? arguments().first() // It should be added explicitly in case of FILE_AND_ARGV_ZERO_.
: launching; const auto argv0 = !arguments().isEmpty()
argumentsList.push_back(argv0.toStdString()); ? arguments().first()
: launching;
if (!justRelaunch && cWriteProtected()) { argumentsList.push_back(argv0.toStdString());
} else if (cWriteProtected()) {
// Elevated process that pkexec should launch. // Elevated process that pkexec should launch.
const auto elevated = cWorkingDir() + u"tupdates/temp/Updater"_q; const auto elevated = cWorkingDir() + u"tupdates/temp/Updater"_q;
argumentsList.push_back(elevated.toStdString()); argumentsList.push_back(elevated.toStdString());