diff --git a/Telegram/SourceFiles/core/launcher.cpp b/Telegram/SourceFiles/core/launcher.cpp index c6127295b..dc1ac3235 100644 --- a/Telegram/SourceFiles/core/launcher.cpp +++ b/Telegram/SourceFiles/core/launcher.cpp @@ -290,6 +290,7 @@ std::unique_ptr Launcher::Create(int argc, char *argv[]) { Launcher::Launcher(int argc, char *argv[]) : _argc(argc) , _argv(argv) +, _arguments(readArguments(_argc, _argv)) , _baseIntegration(_argc, _argv) { crl::toggle_fp_exceptions(true); @@ -301,8 +302,6 @@ Launcher::~Launcher() { } void Launcher::init() { - _arguments = readArguments(_argc, _argv); - prepareSettings(); initQtMessageLogging(); @@ -431,8 +430,8 @@ QStringList Launcher::readArguments(int argc, char *argv[]) const { return result; } -QString Launcher::argumentsString() const { - return _arguments.join(' '); +const QStringList &Launcher::arguments() const { + return _arguments; } bool Launcher::customWorkingDir() const { diff --git a/Telegram/SourceFiles/core/launcher.h b/Telegram/SourceFiles/core/launcher.h index 4d1f17edc..264085f20 100644 --- a/Telegram/SourceFiles/core/launcher.h +++ b/Telegram/SourceFiles/core/launcher.h @@ -28,7 +28,7 @@ public: virtual int exec(); - QString argumentsString() const; + const QStringList &arguments() const; bool customWorkingDir() const; uint64 installationTag() const; diff --git a/Telegram/SourceFiles/logs.cpp b/Telegram/SourceFiles/logs.cpp index 75ac2e87e..443e26049 100644 --- a/Telegram/SourceFiles/logs.cpp +++ b/Telegram/SourceFiles/logs.cpp @@ -430,7 +430,7 @@ void start(not_null launcher) { LOG(("Executable dir: %1, name: %2").arg(cExeDir(), cExeName())); LOG(("Initial working dir: %1").arg(initialWorkingDir)); LOG(("Working dir: %1").arg(cWorkingDir())); - LOG(("Command line: %1").arg(launcher->argumentsString())); + LOG(("Command line: %1").arg(launcher->arguments().join(' '))); if (!LogsData) { LOG(("FATAL: Could not open '%1' for writing log!" diff --git a/Telegram/SourceFiles/platform/linux/launcher_linux.cpp b/Telegram/SourceFiles/platform/linux/launcher_linux.cpp index 10f4e82b6..9662cf427 100644 --- a/Telegram/SourceFiles/platform/linux/launcher_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/launcher_linux.cpp @@ -46,14 +46,13 @@ private: } // namespace Launcher::Launcher(int argc, char *argv[]) -: Core::Launcher(argc, argv) -, _arguments(argv, argv + argc) { +: Core::Launcher(argc, argv) { } int Launcher::exec() { - for (auto i = begin(_arguments), e = end(_arguments); i != e; ++i) { - if (*i == "-webviewhelper" && std::distance(i, e) > 1) { - Webview::WebKitGTK::SetSocketPath(*(i + 1)); + for (auto i = arguments().begin(), e = arguments().end(); i != e; ++i) { + if (*i == u"-webviewhelper"_q && std::distance(i, e) > 1) { + Webview::WebKitGTK::SetSocketPath((i + 1)->toStdString()); return Webview::WebKitGTK::Exec(); } } diff --git a/Telegram/SourceFiles/platform/linux/launcher_linux.h b/Telegram/SourceFiles/platform/linux/launcher_linux.h index 36625a36a..e0a45af0f 100644 --- a/Telegram/SourceFiles/platform/linux/launcher_linux.h +++ b/Telegram/SourceFiles/platform/linux/launcher_linux.h @@ -21,8 +21,6 @@ private: void initHook() override; bool launchUpdater(UpdaterLaunch action) override; - std::vector _arguments; - }; } // namespace Platform