diff --git a/Telegram/SourceFiles/history/media/history_media_grouped.cpp b/Telegram/SourceFiles/history/media/history_media_grouped.cpp index ac44af5f1..517a3f579 100644 --- a/Telegram/SourceFiles/history/media/history_media_grouped.cpp +++ b/Telegram/SourceFiles/history/media/history_media_grouped.cpp @@ -390,19 +390,21 @@ HistoryMessageEdited *HistoryGroupedMedia::displayedEditBadge() const { } void HistoryGroupedMedia::updateNeedBubbleState() { - const auto hasCaption = [&] { - if (_parts.front().item->emptyText()) { - return false; - } - for (auto i = 1, count = int(_parts.size()); i != count; ++i) { - if (!_parts[i].item->emptyText()) { - return false; + const auto captionItem = [&]() -> HistoryItem* { + auto result = (HistoryItem*)nullptr; + for (const auto &part : _parts) { + if (!part.item->emptyText()) { + if (result) { + return nullptr; + } else { + result = part.item; + } } } - return true; + return result; }(); - if (hasCaption) { - _caption = createCaption(_parts.front().item); + if (captionItem) { + _caption = createCaption(captionItem); } _needBubble = computeNeedBubble(); }