diff --git a/Telegram/SourceFiles/data/data_session.cpp b/Telegram/SourceFiles/data/data_session.cpp index c65d76900..43e90b0fe 100644 --- a/Telegram/SourceFiles/data/data_session.cpp +++ b/Telegram/SourceFiles/data/data_session.cpp @@ -2340,14 +2340,20 @@ void Session::processNonChannelMessagesDeleted(const QVector &data) { void Session::removeDependencyMessage(not_null item) { const auto i = _dependentMessages.find(item); - if (i == end(_dependentMessages)) { - return; - } - const auto items = std::move(i->second); - _dependentMessages.erase(i); + if (i != end(_dependentMessages)) { + const auto items = std::move(i->second); + _dependentMessages.erase(i); - for (const auto &dependent : items) { - dependent->dependencyItemRemoved(item); + for (const auto &dependent : items) { + dependent->dependencyItemRemoved(item); + } + } + if (item->groupId()) { + if (const auto group = groups().find(item)) { + for (const auto &groupedItem : group->items) { + updateDependentMessages(groupedItem); + } + } } }