diff --git a/Telegram/SourceFiles/core/launcher.cpp b/Telegram/SourceFiles/core/launcher.cpp index 67d3790db..f22776d5a 100644 --- a/Telegram/SourceFiles/core/launcher.cpp +++ b/Telegram/SourceFiles/core/launcher.cpp @@ -291,7 +291,8 @@ Launcher::Launcher(int argc, char *argv[]) : _argc(argc) , _argv(argv) , _arguments(readArguments(_argc, _argv)) -, _baseIntegration(_argc, _argv) { +, _baseIntegration(_argc, _argv) +, _initialWorkingDir(QDir::currentPath() + '/') { crl::toggle_fp_exceptions(true); base::Integration::Set(&_baseIntegration); @@ -446,6 +447,10 @@ const QStringList &Launcher::arguments() const { return _arguments; } +QString Launcher::initialWorkingDir() const { + return _initialWorkingDir; +} + bool Launcher::customWorkingDir() const { return !_customWorkingDir.isEmpty(); } diff --git a/Telegram/SourceFiles/core/launcher.h b/Telegram/SourceFiles/core/launcher.h index a5e5117a5..ea5b1c97f 100644 --- a/Telegram/SourceFiles/core/launcher.h +++ b/Telegram/SourceFiles/core/launcher.h @@ -29,6 +29,7 @@ public: virtual int exec(); const QStringList &arguments() const; + QString initialWorkingDir() const; bool customWorkingDir() const; uint64 installationTag() const; @@ -84,6 +85,7 @@ private: QStringList _arguments; BaseIntegration _baseIntegration; + QString _initialWorkingDir; QString _customWorkingDir; }; diff --git a/Telegram/SourceFiles/logs.cpp b/Telegram/SourceFiles/logs.cpp index d556d5ec2..aa4c60c9a 100644 --- a/Telegram/SourceFiles/logs.cpp +++ b/Telegram/SourceFiles/logs.cpp @@ -351,7 +351,6 @@ void start() { return; } - auto initialWorkingDir = QDir(cWorkingDir()).absolutePath() + '/'; auto moveOldDataFrom = QString(); auto workingDirChosen = false; @@ -373,7 +372,7 @@ void start() { } #if !defined Q_OS_MAC && !defined _DEBUG // fix first version - moveOldDataFrom = initialWorkingDir; + moveOldDataFrom = launcher.initialWorkingDir(); #endif // !Q_OS_MAC && !_DEBUG #elif defined Q_OS_WINRT // Q_OS_UNIX @@ -432,7 +431,7 @@ void start() { ).arg(cAlphaVersion() ).arg(Logs::b(DebugEnabled()))); LOG(("Executable dir: %1, name: %2").arg(cExeDir(), cExeName())); - LOG(("Initial working dir: %1").arg(initialWorkingDir)); + LOG(("Initial working dir: %1").arg(launcher.initialWorkingDir())); LOG(("Working dir: %1").arg(cWorkingDir())); LOG(("Command line: %1").arg(launcher.arguments().join(' ')));