From 11aee7cb6acd4f2331dbf898281c13f84acd4b03 Mon Sep 17 00:00:00 2001 From: jules Date: Thu, 14 Mar 2019 09:59:48 +0000 Subject: [PATCH] Fixed a possible uncaught exception in ConsoleApplication --- modules/juce_core/misc/juce_ConsoleApplication.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/modules/juce_core/misc/juce_ConsoleApplication.cpp b/modules/juce_core/misc/juce_ConsoleApplication.cpp index 3988e4b120..238360ef53 100644 --- a/modules/juce_core/misc/juce_ConsoleApplication.cpp +++ b/modules/juce_core/misc/juce_ConsoleApplication.cpp @@ -219,7 +219,6 @@ String ArgumentList::getValueForOption (StringRef option) const } return {}; - } String ArgumentList::removeValueForOption (StringRef option) @@ -334,11 +333,15 @@ const ConsoleApplication::Command* ConsoleApplication::findCommand (const Argume int ConsoleApplication::findAndRunCommand (const ArgumentList& args, bool optionMustBeFirstArg) const { - if (auto c = findCommand (args, optionMustBeFirstArg)) - return invokeCatchingFailures ([&args, c] { c->command (args); return 0; }); + return invokeCatchingFailures ([&args, optionMustBeFirstArg, this] + { + if (auto c = findCommand (args, optionMustBeFirstArg)) + c->command (args); + else + fail ("Unrecognised arguments"); - fail ("Unrecognised arguments"); - return 0; + return 0; + }); } int ConsoleApplication::findAndRunCommand (int argc, char* argv[]) const