From 1cabfaa6a4769a93e71cc66118682f5068a2319c Mon Sep 17 00:00:00 2001 From: John Preston Date: Thu, 22 Oct 2020 16:08:01 +0300 Subject: [PATCH] Fix cancel / crash in sending album to scheduled messages. Fixes #8788 --- Telegram/SourceFiles/history/history.cpp | 5 +++-- .../SourceFiles/history/view/history_view_context_menu.cpp | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Telegram/SourceFiles/history/history.cpp b/Telegram/SourceFiles/history/history.cpp index 7b71c0662..f640822d9 100644 --- a/Telegram/SourceFiles/history/history.cpp +++ b/Telegram/SourceFiles/history/history.cpp @@ -416,11 +416,12 @@ void History::destroyMessage(not_null item) { types, item->id)); } - } else { - session().api().cancelLocalItem(item); } itemRemoved(item); } + if (item->isSending()) { + session().api().cancelLocalItem(item); + } owner().unregisterMessage(item); Core::App().notifications().clearFromItem(item); diff --git a/Telegram/SourceFiles/history/view/history_view_context_menu.cpp b/Telegram/SourceFiles/history/view/history_view_context_menu.cpp index 1dcfc1f88..849d79ebd 100644 --- a/Telegram/SourceFiles/history/view/history_view_context_menu.cpp +++ b/Telegram/SourceFiles/history/view/history_view_context_menu.cpp @@ -69,7 +69,7 @@ constexpr auto kExportLocalTimeout = crl::time(1000); //} MsgId ItemIdAcrossData(not_null item) { - if (!item->isScheduled()) { + if (!item->isScheduled() || item->isSending() || item->hasFailed()) { return item->id; } const auto session = &item->history()->session();