diff --git a/ui/effects/spoiler_mess.cpp b/ui/effects/spoiler_mess.cpp index e834dbc..2e02ccf 100644 --- a/ui/effects/spoiler_mess.cpp +++ b/ui/effects/spoiler_mess.cpp @@ -824,7 +824,7 @@ bool SpoilerAnimation::repaint(crl::time now) { return true; } -void PrepareTextSpoilerMask() { +void PreloadTextSpoilerMask() { PrepareDefaultSpoiler( DefaultTextMask, "text", @@ -833,10 +833,14 @@ void PrepareTextSpoilerMask() { } const SpoilerMessCached &DefaultTextSpoilerMask() { + static const auto once = [&] { + PreloadTextSpoilerMask(); + return 0; + }(); return WaitDefaultSpoiler(DefaultTextMask); } -void PrepareImageSpoiler() { +void PreloadImageSpoiler() { const auto postprocess = [](std::unique_ptr cached) { Expects(cached != nullptr); @@ -862,6 +866,10 @@ void PrepareImageSpoiler() { } const SpoilerMessCached &DefaultImageSpoiler() { + static const auto once = [&] { + PreloadImageSpoiler(); + return 0; + }(); return WaitDefaultSpoiler(DefaultImageCached); } diff --git a/ui/effects/spoiler_mess.h b/ui/effects/spoiler_mess.h index 78772a9..759f3fe 100644 --- a/ui/effects/spoiler_mess.h +++ b/ui/effects/spoiler_mess.h @@ -109,9 +109,9 @@ private: [[nodiscard]] SpoilerMessCached GenerateSpoilerMess( const SpoilerMessDescriptor &descriptor); -void PrepareTextSpoilerMask(); +void PreloadTextSpoilerMask(); [[nodiscard]] const SpoilerMessCached &DefaultTextSpoilerMask(); -void PrepareImageSpoiler(); +void PreloadImageSpoiler(); [[nodiscard]] const SpoilerMessCached &DefaultImageSpoiler(); } // namespace Ui