From 2b43f2682ad601ef934fb1fc68c9b779b341340e Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Sun, 9 Mar 2025 02:12:54 +0300 Subject: [PATCH] Fixed open of locked chats filter with shortcuts to open near filters. --- Telegram/SourceFiles/window/window_session_controller.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Telegram/SourceFiles/window/window_session_controller.cpp b/Telegram/SourceFiles/window/window_session_controller.cpp index e4fb08619..6b8abba7a 100644 --- a/Telegram/SourceFiles/window/window_session_controller.cpp +++ b/Telegram/SourceFiles/window/window_session_controller.cpp @@ -49,6 +49,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_chat_filters.h" #include "data/data_replies_list.h" #include "data/data_peer_values.h" +#include "data/data_premium_limits.h" #include "data/data_web_page.h" #include "passport/passport_form_controller.h" #include "chat_helpers/tabbed_selector.h" @@ -3249,7 +3250,8 @@ bool CheckAndJumpToNearChatsFilter( bool isNext, bool jump) { const auto id = controller->activeChatsFilterCurrent(); - const auto list = &controller->session().data().chatsFilters().list(); + const auto session = &controller->session(); + const auto list = &session->data().chatsFilters().list(); const auto index = int(ranges::find( *list, id, @@ -3262,6 +3264,9 @@ bool CheckAndJumpToNearChatsFilter( if (changed >= int(list->size()) || changed < 0) { return false; } + if (changed > Data::PremiumLimits(session).dialogFiltersCurrent()) { + return false; + } if (jump) { controller->setActiveChatsFilter((changed >= 0) ? (*list)[changed].id()