summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qcommandlineparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/tools/qcommandlineparser.cpp')
-rw-r--r--src/corelib/tools/qcommandlineparser.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/corelib/tools/qcommandlineparser.cpp b/src/corelib/tools/qcommandlineparser.cpp
index ffe1193fc34..5aa1cc9d697 100644
--- a/src/corelib/tools/qcommandlineparser.cpp
+++ b/src/corelib/tools/qcommandlineparser.cpp
@@ -653,7 +653,12 @@ bool QCommandLineParserPrivate::parseOptionValue(const QString &optionName, cons
if (nameHashIt != nameHash.constEnd()) {
const qsizetype assignPos = argument.indexOf(assignChar);
const NameHash_t::mapped_type optionOffset = *nameHashIt;
- const bool withValue = !commandLineOptionList.at(optionOffset).valueName().isEmpty();
+ const QCommandLineOption &option = commandLineOptionList.at(optionOffset);
+ if (option.flags() & QCommandLineOption::IgnoreOptionsAfter) {
+ *argumentIterator = argsEnd;
+ return true;
+ }
+ const bool withValue = !option.valueName().isEmpty();
if (withValue) {
if (assignPos == -1) {
++(*argumentIterator);