diff options
author | Treeston <treeston.mmoc@gmail.com> | 2020-09-13 00:37:54 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-02-06 00:07:47 +0100 |
commit | 6ede2740246a554f5fbbd6b015759c8e811388f3 (patch) | |
tree | 39ca4036610eeb5537bcbb703c2c9326b99183a7 /src | |
parent | d1bea3e8b39c53b5427bfef9806e0282624e891f (diff) |
Core/ChatCommands: Fix an issue that caused trailing variant options to sometimes not be selected
(cherry picked from commit 14fa6c3a725f617e02af74eea95f5074b9095704)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Chat/ChatCommands/ChatCommandArgs.h | 2 | ||||
-rw-r--r-- | src/server/game/Chat/ChatCommands/ChatCommandTags.h | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Chat/ChatCommands/ChatCommandArgs.h b/src/server/game/Chat/ChatCommands/ChatCommandArgs.h index b36456869d8..8d2af4e7930 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommandArgs.h +++ b/src/server/game/Chat/ChatCommands/ChatCommandArgs.h @@ -278,7 +278,7 @@ namespace Trinity::Impl::ChatCommands else { ChatCommandResult nestedResult = TryAtIndex<I + 1>(val, handler, args); - if (!thisResult.HasErrorMessage()) + if (nestedResult || !thisResult.HasErrorMessage()) return nestedResult; if (!nestedResult.HasErrorMessage()) return thisResult; diff --git a/src/server/game/Chat/ChatCommands/ChatCommandTags.h b/src/server/game/Chat/ChatCommands/ChatCommandTags.h index dca28d205e8..c7f7d0c0029 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommandTags.h +++ b/src/server/game/Chat/ChatCommands/ChatCommandTags.h @@ -92,6 +92,8 @@ namespace Trinity::ChatCommands ChatCommandResult TryConsume(ChatHandler const* handler, std::string_view args) const { + if (args.empty()) + return std::nullopt; std::string_view start = args.substr(0, _string.length()); if (StringEqualI(start, _string)) { |