diff --git a/Telegram/SourceFiles/info/media/info_media_buttons.cpp b/Telegram/SourceFiles/info/media/info_media_buttons.cpp index 4757b24b56..23ab2eef3d 100644 --- a/Telegram/SourceFiles/info/media/info_media_buttons.cpp +++ b/Telegram/SourceFiles/info/media/info_media_buttons.cpp @@ -365,7 +365,7 @@ not_null AddPeerGiftsButton( wrap->toggleOn(rpl::duplicate(forked) | rpl::map(rpl::mappers::_1 > 0)); tracker.track(wrap); - navigation->session().recentSharedGifts().request(peer, [=]( + const auto requestDone = crl::guard(wrap, [=]( std::vector ids) { state->emojiList.clear(); for (const auto &id : ids) { @@ -374,6 +374,7 @@ not_null AddPeerGiftsButton( } state->textRefreshed.fire({}); }); + navigation->session().recentSharedGifts().request(peer, requestDone); state->button = wrap->entity();