From 00fac7014096730e743f3874a4d13ba6e028c2f6 Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 15 Dec 2020 18:23:41 +0400 Subject: [PATCH] Fix resetting all sessions. --- .../SourceFiles/api/api_authorizations.cpp | 21 ++++++++++++------- Telegram/SourceFiles/boxes/sessions_box.cpp | 2 +- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/Telegram/SourceFiles/api/api_authorizations.cpp b/Telegram/SourceFiles/api/api_authorizations.cpp index f1c988476..ea8bef14a 100644 --- a/Telegram/SourceFiles/api/api_authorizations.cpp +++ b/Telegram/SourceFiles/api/api_authorizations.cpp @@ -125,13 +125,20 @@ void Authorizations::requestTerminate( Fn &&done, Fn &&fail, std::optional hash) { - auto request = hash - ? MTPaccount_ResetAuthorization(MTP_long(*hash)) - : MTPaccount_ResetAuthorization(); - _api.request(std::move(request)) - .done(std::move(done)) - .fail(std::move(fail)) - .send(); + const auto send = [&](auto request) { + _api.request( + std::move(request) + ).done( + std::move(done) + ).fail( + std::move(fail) + ).send(); + }; + if (hash) { + send(MTPaccount_ResetAuthorization(MTP_long(*hash))); + } else { + send(MTPauth_ResetAuthorizations()); + } } Authorizations::List Authorizations::list() const { diff --git a/Telegram/SourceFiles/boxes/sessions_box.cpp b/Telegram/SourceFiles/boxes/sessions_box.cpp index 0efa9b961..9f447dcfa 100644 --- a/Telegram/SourceFiles/boxes/sessions_box.cpp +++ b/Telegram/SourceFiles/boxes/sessions_box.cpp @@ -292,7 +292,7 @@ void SessionsContent::terminateAll() { auto callback = [=] { const auto reset = crl::guard(weak, [=] { _authorizations->cancelCurrentRequest(); - shortPollSessions(); + _authorizations->reload(); }); _authorizations->requestTerminate( [=](const MTPBool &result) { reset(); },