Don't cancel admin log files download on item destroy.

This commit is contained in:
John Preston 2023-08-21 12:06:20 +02:00
parent 4e3db5b693
commit 56555c330b
2 changed files with 13 additions and 8 deletions

View File

@ -833,11 +833,14 @@ void DownloadManager::cancel(
SessionData &data,
std::vector<DownloadingId>::iterator i) {
const auto object = i->object;
const auto item = object.item;
remove(data, i);
if (const auto document = object.document) {
document->cancel();
} else if (const auto photo = object.photo) {
photo->cancel();
if (!item->isAdminLogEntry()) {
if (const auto document = object.document) {
document->cancel();
} else if (const auto photo = object.photo) {
photo->cancel();
}
}
}

View File

@ -495,8 +495,10 @@ void History::destroyMessage(not_null<HistoryItem*> item) {
session().api().cancelLocalItem(item);
}
const auto document = [&] {
const auto media = item->media();
const auto documentToCancel = [&] {
const auto media = item->isAdminLogEntry()
? nullptr
: item->media();
return media ? media->document() : nullptr;
}();
@ -510,8 +512,8 @@ void History::destroyMessage(not_null<HistoryItem*> item) {
Assert(i != end(_messages));
_messages.erase(i);
if (document) {
session().data().documentMessageRemoved(document);
if (documentToCancel) {
session().data().documentMessageRemoved(documentToCancel);
}
}