diff --git a/Telegram/SourceFiles/mediaview.cpp b/Telegram/SourceFiles/mediaview.cpp index ff4e434a0..6b8701927 100644 --- a/Telegram/SourceFiles/mediaview.cpp +++ b/Telegram/SourceFiles/mediaview.cpp @@ -1202,7 +1202,15 @@ void MediaView::displayPhoto(PhotoData *photo, HistoryItem *item) { _caption = Text(); if (auto itemMsg = item ? item->toHistoryMessage() : nullptr) { if (auto photoMsg = dynamic_cast(itemMsg->getMedia())) { - _caption.setMarkedText(st::mediaviewCaptionStyle, photoMsg->getCaption(), (item->author()->isUser() && item->author()->asUser()->botInfo) ? _captionBotOptions : _captionTextOptions); + auto asBot = (item->author()->isUser() + && item->author()->asUser()->botInfo); + auto skipw = qMax(_dateNav.left() + _dateNav.width(), _headerNav.left() + _headerNav.width()); + auto maxw = qMin(qMax(width() - 2 * skipw - st::mediaviewCaptionPadding.left() - st::mediaviewCaptionPadding.right() - 2 * st::mediaviewCaptionMargin.width(), int(st::msgMinWidth)), _caption.maxWidth()); + _caption = Text(maxw); + _caption.setMarkedText( + st::mediaviewCaptionStyle, + photoMsg->getCaption(), + asBot ? _captionBotOptions : _captionTextOptions); } }