From d71f8e375e4a5c2722747ea40a610d3dbaf5561b Mon Sep 17 00:00:00 2001 From: levlam Date: Sat, 20 Apr 2019 19:03:44 +0300 Subject: [PATCH] Do not delete files of saved message if the original is still available. GitOrigin-RevId: 3e0791f44ea1bf54eb9ef584d34ad6698914a2c5 --- td/telegram/MessagesManager.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index e1212278..2737f34c 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -23094,6 +23094,15 @@ bool MessagesManager::need_delete_message_files(Dialog *d, const Message *m) { return false; } + 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"); + if (old_m != nullptr && get_message_file_ids(old_m) == get_message_file_ids(m)) { + return false; + } + } + auto dialog_type = d->dialog_id.get_type(); return dialog_type == DialogType::User || dialog_type == DialogType::SecretChat; } @@ -23601,6 +23610,7 @@ MessagesManager::Dialog *MessagesManager::get_dialog_by_message_id(MessageId mes } } + LOG(INFO) << "Can't find the chat by " << message_id; return nullptr; }