Fixed leak of affiliate program recipients state in bot profile.

This commit is contained in:
23rd
2026-09-13 07:23:32 +03:00
parent 074a791131
commit 7a9f6fccd4

View File

@@ -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);
}
};