From 844e9b60ddf01712082e7ff87cfe74bb20d97297 Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 25 Feb 2020 16:12:04 +0400 Subject: [PATCH] Fix crash in SearchController. Data::Histories cancels request in Main::Session::api(), so the request must be sent using this global api(), not custom MTP::Sender. --- Telegram/SourceFiles/data/data_search_controller.cpp | 5 ++--- Telegram/SourceFiles/data/data_search_controller.h | 1 - 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Telegram/SourceFiles/data/data_search_controller.cpp b/Telegram/SourceFiles/data/data_search_controller.cpp index 08541b13da..90fbd36762 100644 --- a/Telegram/SourceFiles/data/data_search_controller.cpp +++ b/Telegram/SourceFiles/data/data_search_controller.cpp @@ -194,8 +194,7 @@ SearchController::CacheEntry::CacheEntry(const Query &query) } SearchController::SearchController(not_null session) -: _session(session) -, _api(session->api().instance()) { +: _session(session) { } bool SearchController::hasInCache(const Query &query) const { @@ -372,7 +371,7 @@ void SearchController::requestMore( const auto type = ::Data::Histories::RequestType::History; const auto history = _session->data().history(listData->peer); auto requestId = histories.sendRequest(history, type, [=](Fn finish) { - return _api.request( + return _session->api().request( std::move(*prepared) ).done([=](const MTPmessages_Messages &result) { listData->requests.remove(key); diff --git a/Telegram/SourceFiles/data/data_search_controller.h b/Telegram/SourceFiles/data/data_search_controller.h index a439bb38ed..f9341ac4d4 100644 --- a/Telegram/SourceFiles/data/data_search_controller.h +++ b/Telegram/SourceFiles/data/data_search_controller.h @@ -130,7 +130,6 @@ class SearchController final { Data *listData); const not_null _session; - MTP::Sender _api; Cache _cache; Cache::iterator _current = _cache.end();