Handle SEARCH_QUERY_EMPTY in dialogs.

This commit is contained in:
John Preston 2020-11-25 14:51:34 +03:00
parent 267c2d32f0
commit 6a86ed1506

View file

@ -851,12 +851,12 @@ bool Widget::onSearchMessages(bool searchCache) {
MTP_int(0),
MTP_int(0)
)).done([=](const MTPmessages_Messages &result) {
searchReceived(type, result, _searchRequest);
_searchInHistoryRequest = 0;
searchReceived(type, result, _searchRequest);
finish();
}).fail([=](const RPCError &error) {
searchFailed(type, error, _searchRequest);
_searchInHistoryRequest = 0;
searchFailed(type, error, _searchRequest);
finish();
}).send();
_searchQueries.emplace(_searchRequest, _searchQuery);
@ -1272,7 +1272,15 @@ void Widget::searchFailed(
SearchRequestType type,
const RPCError &error,
mtpRequestId requestId) {
if (_searchRequest == requestId) {
if (error.type() == qstr("SEARCH_QUERY_EMPTY")) {
searchReceived(
type,
MTP_messages_messages(
MTP_vector<MTPMessage>(),
MTP_vector<MTPChat>(),
MTP_vector<MTPUser>()),
requestId);
} else if (_searchRequest == requestId) {
_searchRequest = 0;
if (type == SearchRequestType::MigratedFromStart || type == SearchRequestType::MigratedFromOffset) {
_searchFullMigrated = true;