Provide access to un-joined argument list in Core::Launcher
This allows to re-use the variable in Linux-specific code
This commit is contained in:
parent
a7bd097b2f
commit
af00247362
|
@ -290,6 +290,7 @@ std::unique_ptr<Launcher> Launcher::Create(int argc, char *argv[]) {
|
||||||
Launcher::Launcher(int argc, char *argv[])
|
Launcher::Launcher(int argc, char *argv[])
|
||||||
: _argc(argc)
|
: _argc(argc)
|
||||||
, _argv(argv)
|
, _argv(argv)
|
||||||
|
, _arguments(readArguments(_argc, _argv))
|
||||||
, _baseIntegration(_argc, _argv) {
|
, _baseIntegration(_argc, _argv) {
|
||||||
crl::toggle_fp_exceptions(true);
|
crl::toggle_fp_exceptions(true);
|
||||||
|
|
||||||
|
@ -301,8 +302,6 @@ Launcher::~Launcher() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Launcher::init() {
|
void Launcher::init() {
|
||||||
_arguments = readArguments(_argc, _argv);
|
|
||||||
|
|
||||||
prepareSettings();
|
prepareSettings();
|
||||||
initQtMessageLogging();
|
initQtMessageLogging();
|
||||||
|
|
||||||
|
@ -431,8 +430,8 @@ QStringList Launcher::readArguments(int argc, char *argv[]) const {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Launcher::argumentsString() const {
|
const QStringList &Launcher::arguments() const {
|
||||||
return _arguments.join(' ');
|
return _arguments;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Launcher::customWorkingDir() const {
|
bool Launcher::customWorkingDir() const {
|
||||||
|
|
|
@ -28,7 +28,7 @@ public:
|
||||||
|
|
||||||
virtual int exec();
|
virtual int exec();
|
||||||
|
|
||||||
QString argumentsString() const;
|
const QStringList &arguments() const;
|
||||||
bool customWorkingDir() const;
|
bool customWorkingDir() const;
|
||||||
|
|
||||||
uint64 installationTag() const;
|
uint64 installationTag() const;
|
||||||
|
|
|
@ -430,7 +430,7 @@ void start(not_null<Core::Launcher*> launcher) {
|
||||||
LOG(("Executable dir: %1, name: %2").arg(cExeDir(), cExeName()));
|
LOG(("Executable dir: %1, name: %2").arg(cExeDir(), cExeName()));
|
||||||
LOG(("Initial working dir: %1").arg(initialWorkingDir));
|
LOG(("Initial working dir: %1").arg(initialWorkingDir));
|
||||||
LOG(("Working dir: %1").arg(cWorkingDir()));
|
LOG(("Working dir: %1").arg(cWorkingDir()));
|
||||||
LOG(("Command line: %1").arg(launcher->argumentsString()));
|
LOG(("Command line: %1").arg(launcher->arguments().join(' ')));
|
||||||
|
|
||||||
if (!LogsData) {
|
if (!LogsData) {
|
||||||
LOG(("FATAL: Could not open '%1' for writing log!"
|
LOG(("FATAL: Could not open '%1' for writing log!"
|
||||||
|
|
|
@ -46,14 +46,13 @@ private:
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
Launcher::Launcher(int argc, char *argv[])
|
Launcher::Launcher(int argc, char *argv[])
|
||||||
: Core::Launcher(argc, argv)
|
: Core::Launcher(argc, argv) {
|
||||||
, _arguments(argv, argv + argc) {
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int Launcher::exec() {
|
int Launcher::exec() {
|
||||||
for (auto i = begin(_arguments), e = end(_arguments); i != e; ++i) {
|
for (auto i = arguments().begin(), e = arguments().end(); i != e; ++i) {
|
||||||
if (*i == "-webviewhelper" && std::distance(i, e) > 1) {
|
if (*i == u"-webviewhelper"_q && std::distance(i, e) > 1) {
|
||||||
Webview::WebKitGTK::SetSocketPath(*(i + 1));
|
Webview::WebKitGTK::SetSocketPath((i + 1)->toStdString());
|
||||||
return Webview::WebKitGTK::Exec();
|
return Webview::WebKitGTK::Exec();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,8 +21,6 @@ private:
|
||||||
void initHook() override;
|
void initHook() override;
|
||||||
bool launchUpdater(UpdaterLaunch action) override;
|
bool launchUpdater(UpdaterLaunch action) override;
|
||||||
|
|
||||||
std::vector<std::string> _arguments;
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Platform
|
} // namespace Platform
|
||||||
|
|
Loading…
Reference in New Issue
Block a user