From 9a44ca2769fd8eca668f42999bcf0b2b4d0cd631 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Wed, 11 Sep 2024 16:31:46 +0300 Subject: [PATCH] Fixed display of message without text in section of shared links. --- Telegram/SourceFiles/data/data_media_types.cpp | 4 ++++ Telegram/SourceFiles/data/data_media_types.h | 2 ++ Telegram/SourceFiles/overview/overview_layout.cpp | 11 +++++++++++ 3 files changed, 17 insertions(+) diff --git a/Telegram/SourceFiles/data/data_media_types.cpp b/Telegram/SourceFiles/data/data_media_types.cpp index 2298ddcfb..79266a509 100644 --- a/Telegram/SourceFiles/data/data_media_types.cpp +++ b/Telegram/SourceFiles/data/data_media_types.cpp @@ -1726,6 +1726,10 @@ MediaWebPageFlags MediaWebPage::webpageFlags() const { return _flags; } +Storage::SharedMediaTypesMask MediaWebPage::sharedMediaTypes() const { + return Storage::SharedMediaType::Link; +} + bool MediaWebPage::hasReplyPreview() const { if (const auto document = MediaWebPage::document()) { return document->hasThumbnail() diff --git a/Telegram/SourceFiles/data/data_media_types.h b/Telegram/SourceFiles/data/data_media_types.h index b7be891bd..7bcaeb6fb 100644 --- a/Telegram/SourceFiles/data/data_media_types.h +++ b/Telegram/SourceFiles/data/data_media_types.h @@ -446,6 +446,8 @@ public: WebPageData *webpage() const override; MediaWebPageFlags webpageFlags() const override; + Storage::SharedMediaTypesMask sharedMediaTypes() const override; + bool hasReplyPreview() const override; Image *replyPreview() const override; bool replyPreviewLoaded() const override; diff --git a/Telegram/SourceFiles/overview/overview_layout.cpp b/Telegram/SourceFiles/overview/overview_layout.cpp index d8c70f1df..4357a17eb 100644 --- a/Telegram/SourceFiles/overview/overview_layout.cpp +++ b/Telegram/SourceFiles/overview/overview_layout.cpp @@ -1638,6 +1638,17 @@ Link::Link( } _links.push_back(LinkEntry(url, entityText)); } + if (_links.empty()) { + if (const auto media = parent->media()) { + if (const auto webpage = media->webpage()) { + if (!webpage->displayUrl.isEmpty() + && !webpage->url.isEmpty()) { + _links.push_back( + LinkEntry(webpage->displayUrl, webpage->url)); + } + } + } + } while (lnk > 0 && till > from) { --lnk; auto &entity = entities.at(lnk);