From 08ebff4e5dfaba104650651c0ddf5078900dbd29 Mon Sep 17 00:00:00 2001 From: John Preston Date: Thu, 16 Jun 2022 14:07:54 +0400 Subject: [PATCH] Preload premium previews even with Close button. --- Telegram/SourceFiles/boxes/premium_preview_box.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Telegram/SourceFiles/boxes/premium_preview_box.cpp b/Telegram/SourceFiles/boxes/premium_preview_box.cpp index 3e7ef13e32..76e9010246 100644 --- a/Telegram/SourceFiles/boxes/premium_preview_box.cpp +++ b/Telegram/SourceFiles/boxes/premium_preview_box.cpp @@ -1454,7 +1454,14 @@ void PreviewBox( box->addRow( CreateSwitch(box->verticalLayout(), &state->selected), st::premiumDotsMargin); + const auto showFinished = [=] { + state->showFinished = true; + if (base::take(state->preloadScheduled)) { + state->preload(); + } + }; if (descriptor.fromSettings && controller->session().premium()) { + box->setShowFinishedCallback(showFinished); box->addButton(tr::lng_close(), [=] { box->closeBox(); }); } else { box->setStyle(st::premiumPreviewBox); @@ -1485,11 +1492,8 @@ void PreviewBox( Settings::LookupPremiumRef(state->selected.current())); }); } - box->setShowFinishedCallback([=, raw = button.data()] { - state->showFinished = true; - if (base::take(state->preloadScheduled)) { - state->preload(); - } + box->setShowFinishedCallback([=, raw = button.data()]{ + showFinished(); raw->startGlareAnimation(); }); box->addButton(std::move(button));