From 7e071c770f7691ffdbbbd38ac3e17c9aae4d21b3 Mon Sep 17 00:00:00 2001 From: John Preston Date: Wed, 1 May 2024 14:37:52 +0400 Subject: [PATCH] Fix possible crash with custom wallpapered peers. --- Telegram/SourceFiles/window/section_widget.cpp | 6 ++++-- Telegram/SourceFiles/window/window_session_controller.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Telegram/SourceFiles/window/section_widget.cpp b/Telegram/SourceFiles/window/section_widget.cpp index 18f3f7d05..ae24ad4d3 100644 --- a/Telegram/SourceFiles/window/section_widget.cpp +++ b/Telegram/SourceFiles/window/section_widget.cpp @@ -201,10 +201,12 @@ rpl::producer WallPaperResolved( return result; } themes->refreshChatThemes(); - return themes->chatThemesUpdated( + return rpl::single( + nullptr + ) | rpl::then(themes->chatThemesUpdated( ) | rpl::take(1) | rpl::map([=] { return fromThemes(true); - }) | rpl::flatten_latest(); + }) | rpl::flatten_latest()); } AbstractSectionWidget::AbstractSectionWidget( diff --git a/Telegram/SourceFiles/window/window_session_controller.h b/Telegram/SourceFiles/window/window_session_controller.h index 241567b5e..cf4033ce4 100644 --- a/Telegram/SourceFiles/window/window_session_controller.h +++ b/Telegram/SourceFiles/window/window_session_controller.h @@ -700,7 +700,7 @@ private: rpl::event_stream<> _filtersMenuChanged; - std::shared_ptr _defaultChatTheme; + const std::shared_ptr _defaultChatTheme; base::flat_map _customChatThemes; rpl::event_stream> _cachedThemesStream; const std::unique_ptr _chatStyle;