diff --git a/Telegram/SourceFiles/history/view/history_view_element.cpp b/Telegram/SourceFiles/history/view/history_view_element.cpp index 4a287222d3..6921d7aa8c 100644 --- a/Telegram/SourceFiles/history/view/history_view_element.cpp +++ b/Telegram/SourceFiles/history/view/history_view_element.cpp @@ -280,6 +280,16 @@ bool Element::isUnderCursor() const { return _delegate->elementUnderCursor(this); } +bool Element::isLastAndSelfMessage() const { + if (!hasOutLayout()) { + return false; + } + if (const auto last = data()->_history->lastMessage()) { + return last == data(); + } + return false; +} + void Element::setPendingResize() { _flags |= Flag::NeedsResize; if (_context == Context::History) { diff --git a/Telegram/SourceFiles/history/view/history_view_element.h b/Telegram/SourceFiles/history/view/history_view_element.h index 734ba8a79f..d23b08f17f 100644 --- a/Telegram/SourceFiles/history/view/history_view_element.h +++ b/Telegram/SourceFiles/history/view/history_view_element.h @@ -158,6 +158,8 @@ public: bool pendingResize() const; bool isUnderCursor() const; + bool isLastAndSelfMessage() const; + bool isAttachedToPrevious() const; bool isAttachedToNext() const; diff --git a/Telegram/SourceFiles/history/view/media/history_view_gif.cpp b/Telegram/SourceFiles/history/view/media/history_view_gif.cpp index 3b584aba2c..6c3c3bdd87 100644 --- a/Telegram/SourceFiles/history/view/media/history_view_gif.cpp +++ b/Telegram/SourceFiles/history/view/media/history_view_gif.cpp @@ -1444,7 +1444,8 @@ bool Gif::dataLoaded() const { bool Gif::needInfoDisplay() const { return _parent->data()->isSending() || _data->uploading() - || _parent->isUnderCursor(); + || _parent->isUnderCursor() + || _parent->isLastAndSelfMessage(); } bool Gif::needCornerStatusDisplay() const { diff --git a/Telegram/SourceFiles/history/view/media/history_view_media_grouped.cpp b/Telegram/SourceFiles/history/view/media/history_view_media_grouped.cpp index 0b742bbe25..13ab8e0469 100644 --- a/Telegram/SourceFiles/history/view/media/history_view_media_grouped.cpp +++ b/Telegram/SourceFiles/history/view/media/history_view_media_grouped.cpp @@ -453,7 +453,9 @@ bool GroupedMedia::computeNeedBubble() const { } bool GroupedMedia::needInfoDisplay() const { - return (_parent->data()->id < 0 || _parent->isUnderCursor()); + return (_parent->data()->id < 0 + || _parent->isUnderCursor() + || _parent->isLastAndSelfMessage()); } } // namespace HistoryView diff --git a/Telegram/SourceFiles/history/view/media/history_view_media_unwrapped.cpp b/Telegram/SourceFiles/history/view/media/history_view_media_unwrapped.cpp index 3f989962aa..7b49cd2b11 100644 --- a/Telegram/SourceFiles/history/view/media/history_view_media_unwrapped.cpp +++ b/Telegram/SourceFiles/history/view/media/history_view_media_unwrapped.cpp @@ -367,6 +367,7 @@ bool UnwrappedMedia::needInfoDisplay() const { return (_parent->data()->id < 0) || (_parent->isUnderCursor()) || (_parent->displayRightAction()) + || (_parent->isLastAndSelfMessage()) || (_parent->hasOutLayout() && !Adaptive::ChatWide() && _content->alwaysShowOutTimestamp()); diff --git a/Telegram/SourceFiles/history/view/media/history_view_photo.cpp b/Telegram/SourceFiles/history/view/media/history_view_photo.cpp index 2b326315b2..2d5cb756e0 100644 --- a/Telegram/SourceFiles/history/view/media/history_view_photo.cpp +++ b/Telegram/SourceFiles/history/view/media/history_view_photo.cpp @@ -480,7 +480,9 @@ bool Photo::dataLoaded() const { } bool Photo::needInfoDisplay() const { - return (_parent->data()->id < 0 || _parent->isUnderCursor()); + return (_parent->data()->id < 0 + || _parent->isUnderCursor() + || _parent->isLastAndSelfMessage()); } void Photo::validateGroupedCache(