From 9849b7adb60e4bfe51703d72767af4848e3ee09a Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Sun, 19 Feb 2023 07:18:17 +0400 Subject: [PATCH] Use custom workdir even if it doesn't exist --- Telegram/SourceFiles/core/launcher.cpp | 8 ++------ Telegram/SourceFiles/logs.cpp | 2 -- Telegram/SourceFiles/settings.h | 1 + 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/Telegram/SourceFiles/core/launcher.cpp b/Telegram/SourceFiles/core/launcher.cpp index 112c7915b..3a3688f35 100644 --- a/Telegram/SourceFiles/core/launcher.cpp +++ b/Telegram/SourceFiles/core/launcher.cpp @@ -547,13 +547,9 @@ void Launcher::processArguments() { gStartInTray = parseResult.contains("-startintray"); gQuit = parseResult.contains("-quit"); gSendPaths = parseResult.value("-sendpath", {}); - gWorkingDir = parseResult.value("-workdir", {}).join(QString()); + cForceWorkingDir(parseResult.value("-workdir", {}).join(QString())); if (!gWorkingDir.isEmpty()) { - if (QDir().exists(gWorkingDir)) { - _customWorkingDir = true; - } else { - gWorkingDir = QString(); - } + _customWorkingDir = true; } gStartUrl = parseResult.value("--", {}).join(QString()); diff --git a/Telegram/SourceFiles/logs.cpp b/Telegram/SourceFiles/logs.cpp index 254dba6b3..75ac2e87e 100644 --- a/Telegram/SourceFiles/logs.cpp +++ b/Telegram/SourceFiles/logs.cpp @@ -407,8 +407,6 @@ void start(not_null launcher) { } } - cForceWorkingDir(QDir(cWorkingDir()).absolutePath() + '/'); - // WinRT build requires the working dir to stay the same for plugin loading. #ifndef Q_OS_WINRT QDir().setCurrent(cWorkingDir()); diff --git a/Telegram/SourceFiles/settings.h b/Telegram/SourceFiles/settings.h index 3f6466468..bca8a1248 100644 --- a/Telegram/SourceFiles/settings.h +++ b/Telegram/SourceFiles/settings.h @@ -51,6 +51,7 @@ DeclareSetting(QString, WorkingDir); inline void cForceWorkingDir(const QString &newDir) { cSetWorkingDir(newDir); if (!gWorkingDir.isEmpty()) { + cSetWorkingDir(QDir(gWorkingDir).absolutePath() + '/'); QDir().mkpath(gWorkingDir); QFile::setPermissions(gWorkingDir, QFileDevice::ReadUser | QFileDevice::WriteUser | QFileDevice::ExeUser);