From e580640adc2ea506f66d9cf3656a8067f0171be5 Mon Sep 17 00:00:00 2001 From: AlexeyZavar Date: Tue, 20 Feb 2024 23:26:31 +0300 Subject: [PATCH] fix: crash --- Telegram/SourceFiles/data/data_session.cpp | 5 +++-- Telegram/SourceFiles/history/history_widget.cpp | 1 + .../SourceFiles/history/view/history_view_top_bar_widget.cpp | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Telegram/SourceFiles/data/data_session.cpp b/Telegram/SourceFiles/data/data_session.cpp index eefadb41d..f7cd3d44d 100644 --- a/Telegram/SourceFiles/data/data_session.cpp +++ b/Telegram/SourceFiles/data/data_session.cpp @@ -4263,8 +4263,9 @@ void Session::registerItemView(not_null view) { } void Session::unregisterItemView(not_null view) { - if (!_heavyViewParts.contains(view)) { - return; // AyuGram: fix crash when using `saveDeletedMessages` + // Expects(!_heavyViewParts.contains(view)); + if (_heavyViewParts.contains(view)) { + view->unloadHeavyPart(); // AyuGram: fix crash when using `saveDeletedMessages` } _shownSpoilers.remove(view); diff --git a/Telegram/SourceFiles/history/history_widget.cpp b/Telegram/SourceFiles/history/history_widget.cpp index a7a6bc461..a8652e72f 100644 --- a/Telegram/SourceFiles/history/history_widget.cpp +++ b/Telegram/SourceFiles/history/history_widget.cpp @@ -3273,6 +3273,7 @@ void HistoryWidget::messagesReceived( not_null peer, const MTPmessages_Messages &messages, int requestId) { + // Expects(_history != nullptr); if (!_history) { return; // AyuGram: fix crash when using `saveDeletedMessages` } diff --git a/Telegram/SourceFiles/history/view/history_view_top_bar_widget.cpp b/Telegram/SourceFiles/history/view/history_view_top_bar_widget.cpp index b72ca7adc..f5e059c61 100644 --- a/Telegram/SourceFiles/history/view/history_view_top_bar_widget.cpp +++ b/Telegram/SourceFiles/history/view/history_view_top_bar_widget.cpp @@ -788,8 +788,8 @@ void TopBarWidget::backClicked() { auto settings = &AyuSettings::getInstance(); if (settings->hideAllChatsFolder) { const auto filters = &_controller->session().data().chatsFilters(); - const auto lookup_id = filters->lookupId(_controller->session().premium() ? 0 : 1); - _controller->setActiveChatsFilter(lookup_id); + const auto lookupId = filters->lookupId(_controller->session().premium() ? 0 : 1); + _controller->setActiveChatsFilter(lookupId); } else { _controller->closeFolder(); }