mirror of
https://github.com/telegramdesktop/tdesktop
synced 2024-12-13 18:04:49 +00:00
Detect when -workdir value is not really custom
This commit is contained in:
parent
100e875530
commit
cd7539c001
@ -394,6 +394,18 @@ int Launcher::exec() {
|
||||
return result;
|
||||
}
|
||||
|
||||
bool Launcher::validateCustomWorkingDir() {
|
||||
if (customWorkingDir()) {
|
||||
if (_customWorkingDir == cWorkingDir()) {
|
||||
_customWorkingDir = {};
|
||||
return false;
|
||||
}
|
||||
cForceWorkingDir(_customWorkingDir);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void Launcher::workingFolderReady() {
|
||||
srand((unsigned int)time(nullptr));
|
||||
|
||||
@ -435,7 +447,7 @@ const QStringList &Launcher::arguments() const {
|
||||
}
|
||||
|
||||
bool Launcher::customWorkingDir() const {
|
||||
return _customWorkingDir;
|
||||
return !_customWorkingDir.isEmpty();
|
||||
}
|
||||
|
||||
void Launcher::prepareSettings() {
|
||||
@ -534,9 +546,9 @@ void Launcher::processArguments() {
|
||||
gStartInTray = parseResult.contains("-startintray");
|
||||
gQuit = parseResult.contains("-quit");
|
||||
gSendPaths = parseResult.value("-sendpath", {});
|
||||
cForceWorkingDir(parseResult.value("-workdir", {}).join(QString()));
|
||||
if (!gWorkingDir.isEmpty()) {
|
||||
_customWorkingDir = true;
|
||||
_customWorkingDir = parseResult.value("-workdir", {}).join(QString());
|
||||
if (!_customWorkingDir.isEmpty()) {
|
||||
_customWorkingDir = QDir(_customWorkingDir).absolutePath() + '/';
|
||||
}
|
||||
gStartUrl = parseResult.value("--", {}).join(QString());
|
||||
|
||||
|
@ -34,6 +34,7 @@ public:
|
||||
uint64 installationTag() const;
|
||||
|
||||
bool checkPortableVersionFolder();
|
||||
bool validateCustomWorkingDir();
|
||||
void workingFolderReady();
|
||||
void writeDebugModeSetting();
|
||||
void writeInstallBetaVersionsSetting();
|
||||
@ -83,7 +84,7 @@ private:
|
||||
QStringList _arguments;
|
||||
BaseIntegration _baseIntegration;
|
||||
|
||||
bool _customWorkingDir = false;
|
||||
QString _customWorkingDir;
|
||||
|
||||
};
|
||||
|
||||
|
@ -363,7 +363,6 @@ void start() {
|
||||
|
||||
if (!cWorkingDir().isEmpty()) {
|
||||
// This value must come from TelegramForcePortable
|
||||
// or from the "-workdir" command line argument.
|
||||
cForceWorkingDir(cWorkingDir());
|
||||
workingDirChosen = true;
|
||||
} else {
|
||||
@ -391,7 +390,6 @@ void start() {
|
||||
|
||||
if (!cWorkingDir().isEmpty()) {
|
||||
// This value must come from TelegramForcePortable
|
||||
// or from the "-workdir" command line argument.
|
||||
cForceWorkingDir(cWorkingDir());
|
||||
workingDirChosen = true;
|
||||
}
|
||||
@ -408,6 +406,11 @@ void start() {
|
||||
}
|
||||
}
|
||||
|
||||
if (launcher.validateCustomWorkingDir()) {
|
||||
delete LogsData;
|
||||
LogsData = new LogsDataFields();
|
||||
}
|
||||
|
||||
// WinRT build requires the working dir to stay the same for plugin loading.
|
||||
#ifndef Q_OS_WINRT
|
||||
QDir().setCurrent(cWorkingDir());
|
||||
|
Loading…
Reference in New Issue
Block a user