diff --git a/Telegram/SourceFiles/api/api_updates.cpp b/Telegram/SourceFiles/api/api_updates.cpp index b10bafb3a..29459592c 100644 --- a/Telegram/SourceFiles/api/api_updates.cpp +++ b/Telegram/SourceFiles/api/api_updates.cpp @@ -2176,8 +2176,11 @@ void Updates::feedUpdate(const MTPUpdate &update) { } break; case mtpc_updateStickerSets: { + // Can't determine is it masks or stickers, so update both. session().data().stickers().setLastUpdate(0); session().api().updateStickers(); + session().data().stickers().setLastMasksUpdate(0); + session().api().updateMasks(); } break; case mtpc_updateRecentStickers: { diff --git a/Telegram/SourceFiles/data/stickers/data_stickers.cpp b/Telegram/SourceFiles/data/stickers/data_stickers.cpp index 7ceb27bca..d8c7b159c 100644 --- a/Telegram/SourceFiles/data/stickers/data_stickers.cpp +++ b/Telegram/SourceFiles/data/stickers/data_stickers.cpp @@ -1371,10 +1371,8 @@ void Stickers::newSetReceived(const MTPmessages_StickerSet &data) { LOG(("API Error: " "updateNewStickerSet with archived flag.")); return; - } else if (s.is_masks()) { - return; } - auto &order = setsOrderRef(); + auto &order = s.is_masks() ? maskSetsOrderRef() : setsOrderRef(); int32 insertAtIndex = 0, currentIndex = order.indexOf(s.vid().v); if (currentIndex != insertAtIndex) { if (currentIndex > 0) {