From c1752528f24ad63ca6a62a836143adff2747a61d Mon Sep 17 00:00:00 2001 From: levlam Date: Thu, 27 Jun 2019 20:00:43 +0300 Subject: [PATCH] Do not save GetChannelDifferenceLogEvent if background updates are ignored. GitOrigin-RevId: bbcc1028ab24d8f80a85ec2edd93acac41cfa7a6 --- td/telegram/MessagesManager.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 9237bba0..551e68a1 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -25129,7 +25129,7 @@ void MessagesManager::get_channel_difference(DialogId dialog_id, int32 pts, bool return; } - if (force && get_channel_difference_to_logevent_id_.count(dialog_id) == 0) { + if (force && get_channel_difference_to_logevent_id_.count(dialog_id) == 0 && !G()->ignore_backgrond_updates()) { auto channel_id = dialog_id.get_channel_id(); CHECK(input_channel->get_id() == telegram_api::inputChannel::ID); auto access_hash = static_cast(*input_channel).access_hash_; @@ -26188,6 +26188,11 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::GetChannelDifference: { + if (G()->ignore_backgrond_updates()) { + binlog_erase(G()->td_db()->get_binlog(), event.id_); + break; + } + GetChannelDifferenceLogEvent log_event; log_event_parse(log_event, event.data_).ensure();