Commit bdaea370 authored by Alexandru Croitor's avatar Alexandru Croitor
Browse files

[Simplebrowser] Fix command line option parsing.


Passing just command line options to Chromium prevents loading of the
initial startup url. This happens because the startup url is
overridden by the last command line argument, which happens to be a
Chromium option, thus an invalid URL.

Fix consists in using the last command line argument as the loading url
only if it can be parsed as valid url.

Change-Id: I3615ef57b6eddc5098de79cba1b1ba6b6af193ef
Reviewed-by: default avatarAllan Sandfeld Jensen <allan.jensen@qt.io>
parent 272a1421
No related merge requests found
Showing with 15 additions and 3 deletions
......@@ -42,6 +42,18 @@
#include "browserwindow.h"
#include <QApplication>
QString getCommandLineUrlArgument()
{
const QStringList args = QCoreApplication::arguments();
if (args.count() > 1) {
const QString lastArg = args.last();
const bool isValidUrl = QUrl::fromUserInput(lastArg).isValid();
if (isValidUrl)
return lastArg;
}
return QString();
}
int main(int argc, char **argv)
{
QApplication app(argc, argv);
......@@ -50,9 +62,9 @@ int main(int argc, char **argv)
BrowserWindow *window = new BrowserWindow();
Browser::instance().addWindow(window);
QStringList args = QCoreApplication::arguments();
if (args.count() > 1)
window->loadPage(args.last());
const QString url = getCommandLineUrlArgument();
if (!url.isEmpty())
window->loadPage(url);
else
window->loadHomePage();
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment