diff options
Diffstat (limited to 'src/corelib/tools/qcommandlineparser.cpp')
-rw-r--r-- | src/corelib/tools/qcommandlineparser.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/corelib/tools/qcommandlineparser.cpp b/src/corelib/tools/qcommandlineparser.cpp index a7ab8b9e70..7db0920a29 100644 --- a/src/corelib/tools/qcommandlineparser.cpp +++ b/src/corelib/tools/qcommandlineparser.cpp @@ -52,6 +52,8 @@ QT_BEGIN_NAMESPACE +extern void Q_CORE_EXPORT qt_call_post_routines(); + typedef QHash<QString, int> NameHash_t; class QCommandLineParserPrivate @@ -586,6 +588,7 @@ void QCommandLineParser::process(const QStringList &arguments) { if (!d->parse(arguments)) { showParserMessage(errorText() + QLatin1Char('\n'), ErrorMessage); + qt_call_post_routines(); ::exit(EXIT_FAILURE); } @@ -997,6 +1000,7 @@ Q_NORETURN void QCommandLineParser::showVersion() showParserMessage(QCoreApplication::applicationName() + QLatin1Char(' ') + QCoreApplication::applicationVersion() + QLatin1Char('\n'), UsageMessage); + qt_call_post_routines(); ::exit(EXIT_SUCCESS); } @@ -1014,6 +1018,7 @@ Q_NORETURN void QCommandLineParser::showVersion() Q_NORETURN void QCommandLineParser::showHelp(int exitCode) { showParserMessage(d->helpText(), UsageMessage); + qt_call_post_routines(); ::exit(exitCode); } |