mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-16 06:07:06 +02:00
Fix crash in scheduled messages tear-down.
This commit is contained in:
parent
5433f95eda
commit
a3e593b747
3 changed files with 12 additions and 1 deletions
|
@ -113,9 +113,16 @@ ScheduledMessages::ScheduledMessages(not_null<Main::Session*> session)
|
|||
}
|
||||
|
||||
ScheduledMessages::~ScheduledMessages() {
|
||||
for (const auto &request : _requests) {
|
||||
Expects(_data.empty());
|
||||
Expects(_requests.empty());
|
||||
}
|
||||
|
||||
void ScheduledMessages::clear() {
|
||||
_lifetime.destroy();
|
||||
for (const auto &request : base::take(_requests)) {
|
||||
_session->api().request(request.second.requestId).cancel();
|
||||
}
|
||||
base::take(_data);
|
||||
}
|
||||
|
||||
void ScheduledMessages::clearOldRequests() {
|
||||
|
|
|
@ -55,6 +55,8 @@ public:
|
|||
[[nodiscard]] Data::MessagesSlice list(
|
||||
not_null<const Data::ForumTopic*> topic) const;
|
||||
|
||||
void clear();
|
||||
|
||||
private:
|
||||
using OwnedItem = std::unique_ptr<HistoryItem, HistoryItem::Destroyer>;
|
||||
struct List {
|
||||
|
|
|
@ -40,6 +40,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/business/data_business_chatbots.h"
|
||||
#include "data/business/data_business_info.h"
|
||||
#include "data/business/data_shortcut_messages.h"
|
||||
#include "data/components/scheduled_messages.h"
|
||||
#include "data/stickers/data_stickers.h"
|
||||
#include "data/notify/data_notify_settings.h"
|
||||
#include "data/data_bot_app.h"
|
||||
|
@ -394,6 +395,7 @@ void Session::clear() {
|
|||
|
||||
_histories->unloadAll();
|
||||
_shortcutMessages = nullptr;
|
||||
_session->scheduledMessages().clear();
|
||||
_dependentMessages.clear();
|
||||
base::take(_messages);
|
||||
base::take(_nonChannelMessages);
|
||||
|
|
Loading…
Add table
Reference in a new issue