mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/telegramdesktop/tdesktop
synced 2026-09-20 08:03:45 +08:00
Fixed leak of affiliate program recipients state in bot profile.
This commit is contained in:
@@ -2802,7 +2802,7 @@ void ActionsFiller::addAffiliateProgram(not_null<UserData*> user) {
|
||||
bool requested = false;
|
||||
Fn<void()> open;
|
||||
};
|
||||
const auto recipients = std::make_shared<StarRefRecipients>();
|
||||
const auto recipients = inner->lifetime().make_state<StarRefRecipients>();
|
||||
recipients->open = [=] {
|
||||
if (!recipients->list.empty()) {
|
||||
const auto program = user->botInfo->starRefProgram;
|
||||
@@ -2812,10 +2812,11 @@ void ActionsFiller::addAffiliateProgram(not_null<UserData*> user) {
|
||||
recipients->list));
|
||||
} else if (!recipients->requested) {
|
||||
recipients->requested = true;
|
||||
const auto done = [=](std::vector<not_null<PeerData*>> list) {
|
||||
const auto done = crl::guard(inner, [=](
|
||||
std::vector<not_null<PeerData*>> list) {
|
||||
recipients->list = std::move(list);
|
||||
recipients->open();
|
||||
};
|
||||
});
|
||||
Info::BotStarRef::ResolveRecipients(&user->session(), done);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user