From a1d1d2160b40a40bfdb021749c15e7f56cdfca38 Mon Sep 17 00:00:00 2001 From: levlam Date: Fri, 24 Sep 2021 13:08:32 +0300 Subject: [PATCH] Simplify load_special_sticker_set usage. --- td/telegram/StickersManager.cpp | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/td/telegram/StickersManager.cpp b/td/telegram/StickersManager.cpp index b72149afe..ebf3cade0 100644 --- a/td/telegram/StickersManager.cpp +++ b/td/telegram/StickersManager.cpp @@ -1358,7 +1358,9 @@ void StickersManager::load_special_sticker_set_by_type(const SpecialStickerSetTy } void StickersManager::load_special_sticker_set(SpecialStickerSet &sticker_set) { - CHECK(!sticker_set.is_being_loaded_); + if (sticker_set.is_being_loaded_) { + return; + } sticker_set.is_being_loaded_ = true; if (sticker_set.id_.is_valid()) { auto promise = PromiseCreator::lambda([actor_id = actor_id(this), type = sticker_set.type_](Result &&result) { @@ -3992,9 +3994,7 @@ void StickersManager::register_dice(const string &emoji, int32 value, FullMessag if (need_load) { LOG(INFO) << "Waiting for a dice sticker set needed in " << full_message_id; - if (!special_sticker_set.is_being_loaded_) { - load_special_sticker_set(special_sticker_set); - } + load_special_sticker_set(special_sticker_set); } else { // TODO reload once in a while // reload_special_sticker_set(special_sticker_set); @@ -4024,9 +4024,7 @@ void StickersManager::get_animated_emoji_click_sticker(const string &message_tex auto &special_sticker_set = add_special_sticker_set(SpecialStickerSetType::animated_emoji_click()); if (!special_sticker_set.id_.is_valid()) { // don't wait for the first load of the sticker set from the server - if (!special_sticker_set.is_being_loaded_) { - load_special_sticker_set(special_sticker_set); - } + load_special_sticker_set(special_sticker_set); return promise.set_value(nullptr); } @@ -4038,9 +4036,7 @@ void StickersManager::get_animated_emoji_click_sticker(const string &message_tex } LOG(INFO) << "Waiting for an emoji click sticker set needed in " << full_message_id; - if (!special_sticker_set.is_being_loaded_) { - load_special_sticker_set(special_sticker_set); - } + load_special_sticker_set(special_sticker_set); PendingGetAnimatedEmojiClickSticker pending_request; pending_request.message_text_ = message_text; @@ -4299,9 +4295,7 @@ Status StickersManager::on_animated_emoji_message_clicked(Slice emoji, FullMessa } LOG(INFO) << "Waiting for an emoji click sticker set needed in " << full_message_id; - if (!special_sticker_set.is_being_loaded_) { - load_special_sticker_set(special_sticker_set); - } + load_special_sticker_set(special_sticker_set); PendingOnAnimatedEmojiClicked pending_request; pending_request.emoji_ = emoji.str();