diff options
Diffstat (limited to 'net-im/telegram-desktop/files')
-rw-r--r-- | net-im/telegram-desktop/files/1.9.19-crash.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/net-im/telegram-desktop/files/1.9.19-crash.patch b/net-im/telegram-desktop/files/1.9.19-crash.patch new file mode 100644 index 000000000000..ff88aec74eb6 --- /dev/null +++ b/net-im/telegram-desktop/files/1.9.19-crash.patch @@ -0,0 +1,47 @@ +From 844e9b60ddf01712082e7ff87cfe74bb20d97297 Mon Sep 17 00:00:00 2001 +From: John Preston <johnprestonmail@gmail.com> +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<Main::Session*> 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<void()> 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<Main::Session*> _session; +- MTP::Sender _api; + Cache _cache; + Cache::iterator _current = _cache.end(); + |