From 3c028590b160e17471d3c6fc11f7a05082c58c53 Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 30 Jun 2020 19:04:52 +0400 Subject: [PATCH] Fix crash in StickersListWidget. --- .../SourceFiles/chat_helpers/stickers_list_widget.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Telegram/SourceFiles/chat_helpers/stickers_list_widget.cpp b/Telegram/SourceFiles/chat_helpers/stickers_list_widget.cpp index 85f9b2e75..101ce96c8 100644 --- a/Telegram/SourceFiles/chat_helpers/stickers_list_widget.cpp +++ b/Telegram/SourceFiles/chat_helpers/stickers_list_widget.cpp @@ -2508,7 +2508,11 @@ void StickersListWidget::refreshRecentStickers(bool performResize) { externalLayout, std::move(recentPack)); if (recentIt == _mySets.end()) { - _mySets.push_back(std::move(set)); + const auto where = (_mySets.empty() + || _mySets.begin()->id != Data::Stickers::FavedSetId) + ? _mySets.begin() + : (_mySets.begin() + 1); + _mySets.insert(where, std::move(set)); } else { std::swap(*recentIt, set); takeHeavyData(*recentIt, set); @@ -2533,7 +2537,7 @@ void StickersListWidget::refreshFavedStickers() { const auto set = it->second.get(); const auto externalLayout = false; const auto shortName = QString(); - _mySets.emplace_back( + _mySets.insert(_mySets.begin(), Set{ Data::Stickers::FavedSetId, nullptr, (MTPDstickerSet::Flag::f_official @@ -2542,7 +2546,8 @@ void StickersListWidget::refreshFavedStickers() { shortName, set->count, externalLayout, - PrepareStickers(set->stickers)); + PrepareStickers(set->stickers) + }); _favedStickersMap = base::flat_set> { set->stickers.begin(), set->stickers.end()