From 1709fcd0dff23b0679f9dea776ff732fe8cce4be Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Fri, 3 May 2024 17:54:51 +0300 Subject: [PATCH] Guarded personal channel info from possible crash on deleting message. --- .../info/profile/info_profile_actions.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Telegram/SourceFiles/info/profile/info_profile_actions.cpp b/Telegram/SourceFiles/info/profile/info_profile_actions.cpp index 096e4f802..26adba123 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_actions.cpp +++ b/Telegram/SourceFiles/info/profile/info_profile_actions.cpp @@ -1365,8 +1365,20 @@ object_ptr DetailsFiller::setupPersonalChannel( const auto previewView = lifetime.make_state(); preview->resize(0, st::infoLabeled.style.font->height); preview->paintRequest( - ) | rpl::start_with_next([=](const QRect &rect) { + ) | rpl::start_with_next([=, fullId = item->fullId()]( + const QRect &rect) { auto p = Painter(preview); + const auto item = user->session().data().message(fullId); + if (!item) { + p.setPen(st::infoPersonalChannelDateLabel.textFg); + p.setBrush(Qt::NoBrush); + p.setFont(st::infoPersonalChannelDateLabel.style.font); + p.drawText( + preview->rect(), + tr::lng_deleted_message(tr::now), + style::al_left); + return; + } if (previewView->prepared(item, nullptr)) { previewView->paint(p, preview->rect(), { .st = &st::defaultDialogRow,