From bc7975ece776349520ee6ba5e1ea209478714e93 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Tue, 20 Oct 2020 23:21:51 +0300 Subject: [PATCH] Fixed crash when user reschedules already sent message. Fixed #8867. --- .../history/view/history_view_context_menu.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Telegram/SourceFiles/history/view/history_view_context_menu.cpp b/Telegram/SourceFiles/history/view/history_view_context_menu.cpp index 849d79ebd1..68f46aab89 100644 --- a/Telegram/SourceFiles/history/view/history_view_context_menu.cpp +++ b/Telegram/SourceFiles/history/view/history_view_context_menu.cpp @@ -420,23 +420,23 @@ bool AddSendNowMessageAction( bool AddRescheduleMessageAction( not_null menu, const ContextMenuRequest &request) { - if (!HasEditMessageAction(request) - || !request.item->isScheduled()) { + if (!HasEditMessageAction(request) || !request.item->isScheduled()) { return false; } - const auto item = request.item; - const auto owner = &item->history()->owner(); - const auto itemId = item->fullId(); + const auto owner = &request.item->history()->owner(); + const auto itemId = request.item->fullId(); menu->addAction(tr::lng_context_reschedule(tr::now), [=] { const auto item = owner->message(itemId); if (!item) { return; } const auto callback = [=](Api::SendOptions options) { - if (!item->media() || !item->media()->webpage()) { - options.removeWebPageId = true; + if (const auto item = owner->message(itemId)) { + if (!item->media() || !item->media()->webpage()) { + options.removeWebPageId = true; + } + Api::RescheduleMessage(item, options); } - Api::RescheduleMessage(item, options); }; const auto peer = item->history()->peer;