diff --git a/Telegram/SourceFiles/history/history_inner_widget.cpp b/Telegram/SourceFiles/history/history_inner_widget.cpp index 282cbbdce..0dad26284 100644 --- a/Telegram/SourceFiles/history/history_inner_widget.cpp +++ b/Telegram/SourceFiles/history/history_inner_widget.cpp @@ -1874,10 +1874,13 @@ void HistoryInner::toggleFavoriteReaction(not_null view) const { if (allowed && !allowed->contains(favorite)) { return; } - view->data()->toggleReaction(favorite); - if (const auto top = itemTop(view); top >= 0) { - view->animateReaction({ .emoji = favorite }); + const auto item = view->data(); + if (item->chosenReaction() != favorite) { + if (const auto top = itemTop(view); top >= 0) { + view->animateReaction({ .emoji = favorite }); + } } + item->toggleReaction(favorite); } void HistoryInner::contextMenuEvent(QContextMenuEvent *e) { diff --git a/Telegram/SourceFiles/history/view/history_view_list_widget.cpp b/Telegram/SourceFiles/history/view/history_view_list_widget.cpp index add09dd07..ddbb5e941 100644 --- a/Telegram/SourceFiles/history/view/history_view_list_widget.cpp +++ b/Telegram/SourceFiles/history/view/history_view_list_widget.cpp @@ -2108,10 +2108,13 @@ void ListWidget::toggleFavoriteReaction(not_null view) const { if (allowed && !allowed->contains(favorite)) { return; } - view->data()->toggleReaction(favorite); - if (const auto top = itemTop(view); top >= 0) { - view->animateReaction({ .emoji = favorite }); + const auto item = view->data(); + if (item->chosenReaction() != favorite) { + if (const auto top = itemTop(view); top >= 0) { + view->animateReaction({ .emoji = favorite }); + } } + item->toggleReaction(favorite); } void ListWidget::trySwitchToWordSelection() {