From 074bb1e66eba275fdf497fd9b72c769d052ac18b Mon Sep 17 00:00:00 2001 From: ziplantil <86836197+ziplantil@users.noreply.github.com> Date: Thu, 14 Nov 2024 09:35:57 +0200 Subject: [PATCH] Fix bug in ChatBotCommands::update when commands empty (#28631) --- .../SourceFiles/data/data_peer_bot_commands.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Telegram/SourceFiles/data/data_peer_bot_commands.cpp b/Telegram/SourceFiles/data/data_peer_bot_commands.cpp index 8adc31a9e..2487dc768 100644 --- a/Telegram/SourceFiles/data/data_peer_bot_commands.cpp +++ b/Telegram/SourceFiles/data/data_peer_bot_commands.cpp @@ -17,11 +17,16 @@ ChatBotCommands::Changed ChatBotCommands::update( clear(); } else { for (const auto &commands : list) { - auto &value = operator[](commands.userId); - changed |= commands.commands.empty() - ? remove(commands.userId) - : !ranges::equal(value, commands.commands); - value = commands.commands; + if (commands.commands.empty()) { + changed |= remove(commands.userId); + } else { + auto &value = operator[](commands.userId); + const auto isEqual = ranges::equal(value, commands.commands); + changed |= !isEqual; + if (!isEqual) { + value = commands.commands; + } + } } } return changed;