diff --git a/Telegram/SourceFiles/data/data_folder.cpp b/Telegram/SourceFiles/data/data_folder.cpp index f3cc2c638..4faa19f71 100644 --- a/Telegram/SourceFiles/data/data_folder.cpp +++ b/Telegram/SourceFiles/data/data_folder.cpp @@ -211,6 +211,10 @@ not_null Folder::chatsList() { return &_chatsList; } +void Folder::clearChatsList() { + _chatsList.clear(); +} + void Folder::chatListPreloadData() { } diff --git a/Telegram/SourceFiles/data/data_folder.h b/Telegram/SourceFiles/data/data_folder.h index 665443755..9e62fcabe 100644 --- a/Telegram/SourceFiles/data/data_folder.h +++ b/Telegram/SourceFiles/data/data_folder.h @@ -35,6 +35,7 @@ public: void unregisterOne(not_null history); void oneListMessageChanged(HistoryItem *from, HistoryItem *to); + void clearChatsList(); [[nodiscard]] not_null chatsList(); void applyDialog(const MTPDdialogFolder &data); diff --git a/Telegram/SourceFiles/data/data_session.cpp b/Telegram/SourceFiles/data/data_session.cpp index 616d31194..56b98568e 100644 --- a/Telegram/SourceFiles/data/data_session.cpp +++ b/Telegram/SourceFiles/data/data_session.cpp @@ -385,6 +385,9 @@ void Session::clear() { _contactsNoChatsList.clear(); _contactsList.clear(); _chatsList.clear(); + for (const auto &[id, folder] : _folders) { + folder->clearChatsList(); + } _histories->clearAll(); _webpages.clear(); _locations.clear();