diff --git a/Telegram/SourceFiles/data/data_session.cpp b/Telegram/SourceFiles/data/data_session.cpp index a4c4aadb9..9e8c8f87e 100644 --- a/Telegram/SourceFiles/data/data_session.cpp +++ b/Telegram/SourceFiles/data/data_session.cpp @@ -4036,6 +4036,9 @@ void Session::refreshChatListEntry(Dialogs::Key key) { removeChatListEntry(migrated); } } + if (const auto forum = history->peer->forum()) { + forum->preloadTopics(); + } } } diff --git a/Telegram/SourceFiles/dialogs/ui/dialogs_topics_view.cpp b/Telegram/SourceFiles/dialogs/ui/dialogs_topics_view.cpp index 34135c43f..d94cd89b8 100644 --- a/Telegram/SourceFiles/dialogs/ui/dialogs_topics_view.cpp +++ b/Telegram/SourceFiles/dialogs/ui/dialogs_topics_view.cpp @@ -11,6 +11,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_forum.h" #include "data/data_forum_topic.h" #include "core/ui_integration.h" +#include "lang/lang_keys.h" #include "ui/painter.h" #include "ui/text/text_options.h" #include "ui/text/text_utilities.h" @@ -119,6 +120,13 @@ void TopicsView::paint( : st::dialogsTextPaletteArchive); auto rect = geometry; auto skipBig = _jumpToTopic && !context.active; + if (_titles.empty()) { + p.drawText( + rect.x(), + rect.y() + st::normalFont->ascent, + tr::lng_contacts_loading(tr::now)); + return; + } for (const auto &title : _titles) { if (rect.width() < title.title.style()->font->elidew) { break; diff --git a/Telegram/SourceFiles/history/history.cpp b/Telegram/SourceFiles/history/history.cpp index 985e07e7f..f4e792782 100644 --- a/Telegram/SourceFiles/history/history.cpp +++ b/Telegram/SourceFiles/history/history.cpp @@ -2762,10 +2762,6 @@ void History::applyDialog( draft->c_draftMessage()); } owner().histories().dialogEntryApplied(this); - - if (const auto forum = inChatList() ? peer->forum() : nullptr) { - forum->preloadTopics(); - } } void History::dialogEntryApplied() {