From b49e3123894f7fefdc4a475767f196958def41d7 Mon Sep 17 00:00:00 2001 From: levlam Date: Mon, 29 Apr 2019 06:21:43 +0300 Subject: [PATCH] Made need_delete_message_files const. GitOrigin-RevId: b547551f6968766447e448c00c0bd65333316886 --- td/telegram/MessagesManager.cpp | 7 ++++--- td/telegram/MessagesManager.h | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 4b27583e..45ce7385 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -23149,7 +23149,7 @@ bool MessagesManager::need_delete_file(FullMessageId full_message_id, FileId fil return true; } -bool MessagesManager::need_delete_message_files(Dialog *d, const Message *m) { +bool MessagesManager::need_delete_message_files(Dialog *d, const Message *m) const { CHECK(d != nullptr); if (m == nullptr || !m->message_id.is_server()) { return false; @@ -23157,8 +23157,9 @@ bool MessagesManager::need_delete_message_files(Dialog *d, const Message *m) { if (m->forward_info != nullptr && m->forward_info->from_dialog_id.is_valid() && m->forward_info->from_message_id.is_valid()) { - const Message *old_m = get_message_force({m->forward_info->from_dialog_id, m->forward_info->from_message_id}, - "need_delete_message_files"); + // this function must not try to load the message, because it can be called from + // do_delete_message or add_message_to_dialog + const Message *old_m = get_message({m->forward_info->from_dialog_id, m->forward_info->from_message_id}); if (old_m != nullptr && get_message_file_ids(old_m) == get_message_file_ids(m)) { return false; } diff --git a/td/telegram/MessagesManager.h b/td/telegram/MessagesManager.h index 587a9071..c90b28e6 100644 --- a/td/telegram/MessagesManager.h +++ b/td/telegram/MessagesManager.h @@ -1560,7 +1560,7 @@ class MessagesManager : public Actor { bool need_delete_file(FullMessageId full_message_id, FileId file_id) const; - bool need_delete_message_files(Dialog *d, const Message *m); + bool need_delete_message_files(Dialog *d, const Message *m) const; void add_message_to_database(const Dialog *d, const Message *m, const char *source);