diff --git a/Telegram/SourceFiles/dialogs/ui/dialogs_layout.cpp b/Telegram/SourceFiles/dialogs/ui/dialogs_layout.cpp index d62bfac13..d26c511d7 100644 --- a/Telegram/SourceFiles/dialogs/ui/dialogs_layout.cpp +++ b/Telegram/SourceFiles/dialogs/ui/dialogs_layout.cpp @@ -470,11 +470,11 @@ void paintRow( lt_from_part, draftWrapped, lt_message, - { + DialogsPreviewText({ .text = draft->textWithTags.text, .entities = ConvertTextTagsToEntities( draft->textWithTags.tags), - }, + }), Text::WithEntities); const auto context = Core::MarkedTextContext{ .session = &history->session(), diff --git a/Telegram/SourceFiles/dialogs/ui/dialogs_message_view.cpp b/Telegram/SourceFiles/dialogs/ui/dialogs_message_view.cpp index 6b8a83902..48e290a4b 100644 --- a/Telegram/SourceFiles/dialogs/ui/dialogs_message_view.cpp +++ b/Telegram/SourceFiles/dialogs/ui/dialogs_message_view.cpp @@ -71,9 +71,20 @@ TextWithTagOffset ReplaceTag>::Call( } // namespace Lang namespace Dialogs::Ui { -namespace { -} // namespace +TextWithEntities DialogsPreviewText(TextWithEntities text) { + return Ui::Text::Filtered( + std::move(text), + { + EntityType::Pre, + EntityType::Code, + EntityType::Spoiler, + EntityType::StrikeOut, + EntityType::Underline, + EntityType::Italic, + EntityType::CustomEmoji, + }); +} struct MessageView::LoadingContext { std::any context; @@ -136,7 +147,7 @@ void MessageView::paint( }; _textCache.setMarkedText( st::dialogsTextStyle, - preview.text, + DialogsPreviewText(std::move(preview.text)), DialogTextOptions(), context); _textCachedFor = item; diff --git a/Telegram/SourceFiles/dialogs/ui/dialogs_message_view.h b/Telegram/SourceFiles/dialogs/ui/dialogs_message_view.h index a926c5e6f..7cbb706e3 100644 --- a/Telegram/SourceFiles/dialogs/ui/dialogs_message_view.h +++ b/Telegram/SourceFiles/dialogs/ui/dialogs_message_view.h @@ -26,6 +26,8 @@ namespace Dialogs::Ui { using namespace ::Ui; +[[nodiscard]] TextWithEntities DialogsPreviewText(TextWithEntities text); + class MessageView final { public: MessageView();