From 3c6f21d5a37a554944538be384ee427b299ec3e5 Mon Sep 17 00:00:00 2001 From: levlam Date: Fri, 3 May 2019 16:44:52 +0300 Subject: [PATCH] Trying to fix recursive call of actor. GitOrigin-RevId: 7796903536a43bc5ee149fe8b937ce8e7d377b02 --- td/telegram/MessagesManager.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index a3b85fb46..a53d06d92 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -9672,7 +9672,7 @@ void MessagesManager::add_secret_message(unique_ptr pendin multipromise.add_promise(PromiseCreator::lambda([token, actor_id = actor_id(this), this](Result result) mutable { - if (result.is_ok()) { // if we aren't closing + if (result.is_ok() && !G()->close_flag()) { // if we aren't closing this->pending_secret_messages_.finish(token, [actor_id](unique_ptr pending_secret_message) { send_closure_later(actor_id, &MessagesManager::finish_add_secret_message, std::move(pending_secret_message)); }); @@ -9686,6 +9686,10 @@ void MessagesManager::add_secret_message(unique_ptr pendin } void MessagesManager::finish_add_secret_message(unique_ptr pending_secret_message) { + if (G()->close_flag()) { + return; + } + auto d = get_dialog(pending_secret_message->message_info.dialog_id); CHECK(d != nullptr); auto random_id = pending_secret_message->message_info.random_id;