summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qcommandlineparser.cpp
diff options
context:
space:
mode:
authorDavid Faure <david.faure@kdab.com>2021-02-26 23:06:15 +0100
committerDavid Faure <david.faure@kdab.com>2021-03-01 23:03:00 +0100
commit101581484bd278ce4a5f329ffb13c9e0b0e4c131 (patch)
treeabe01427f1ac53e939fb2acfb625d797e4a82c11 /src/corelib/tools/qcommandlineparser.cpp
parentb579d8a05bb6d4113feebece17d443e676266ab8 (diff)
QCommandLineParser: fix crash if there's no QCoreApplication
It'll display <executable_name> instead in the help output. Fixes: QTBUG-91430 Change-Id: Ib6211b24cdaa4683a4f62c90b5a1a20ba69f1cff Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/tools/qcommandlineparser.cpp')
-rw-r--r--src/corelib/tools/qcommandlineparser.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/corelib/tools/qcommandlineparser.cpp b/src/corelib/tools/qcommandlineparser.cpp
index 8e575be6356..f294449b5f3 100644
--- a/src/corelib/tools/qcommandlineparser.cpp
+++ b/src/corelib/tools/qcommandlineparser.cpp
@@ -1125,10 +1125,11 @@ QString QCommandLineParserPrivate::helpText(bool includeQtOptions) const
const QLatin1Char nl('\n');
QString text;
QString usage;
- usage += QCoreApplication::instance()->arguments().constFirst(); // executable name
+ // executable name
+ usage += qApp ? QCoreApplication::arguments().constFirst() : QStringLiteral("<executable_name>");
QList<QCommandLineOption> options = commandLineOptionList;
- if (includeQtOptions)
- QCoreApplication::instance()->d_func()->addQtOptions(&options);
+ if (includeQtOptions && qApp)
+ qApp->d_func()->addQtOptions(&options);
if (!options.isEmpty())
usage += QLatin1Char(' ') + QCommandLineParser::tr("[options]");
for (const PositionalArgumentDefinition &arg : positionalArgumentDefinitions)