From e6d661f8eedb2359f8d29d2c40a97863cd7e0843 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Thu, 24 Oct 2024 17:43:04 +0300 Subject: [PATCH] Fixed statistics section of stories from megagroups. --- Telegram/SourceFiles/api/api_statistics.cpp | 10 +++++++--- .../info/statistics/info_statistics_recent_message.cpp | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Telegram/SourceFiles/api/api_statistics.cpp b/Telegram/SourceFiles/api/api_statistics.cpp index c960aca33..69bbed7fc 100644 --- a/Telegram/SourceFiles/api/api_statistics.cpp +++ b/Telegram/SourceFiles/api/api_statistics.cpp @@ -341,6 +341,10 @@ void PublicForwards::request( .token = nextToken, }); }; + const auto processFail = [=] { + _requestId = 0; + done({}); + }; constexpr auto kLimit = tl::make_int(100); if (_fullId.messageId) { @@ -349,14 +353,14 @@ void PublicForwards::request( MTP_int(_fullId.messageId.msg), MTP_string(token), kLimit - )).done(processResult).fail([=] { _requestId = 0; }).send(); + )).done(processResult).fail(processFail).send(); } else if (_fullId.storyId) { _requestId = makeRequest(MTPstats_GetStoryPublicForwards( channel->input, MTP_int(_fullId.storyId.story), MTP_string(token), kLimit - )).done(processResult).fail([=] { _requestId = 0; }).send(); + )).done(processResult).fail(processFail).send(); } } @@ -381,7 +385,7 @@ Data::PublicForwardsSlice MessageStatistics::firstSlice() const { } void MessageStatistics::request(Fn done) { - if (channel()->isMegagroup()) { + if (channel()->isMegagroup() && !_storyId) { return; } const auto requestFirstPublicForwards = [=]( diff --git a/Telegram/SourceFiles/info/statistics/info_statistics_recent_message.cpp b/Telegram/SourceFiles/info/statistics/info_statistics_recent_message.cpp index c09038bee..2f8b1d069 100644 --- a/Telegram/SourceFiles/info/statistics/info_statistics_recent_message.cpp +++ b/Telegram/SourceFiles/info/statistics/info_statistics_recent_message.cpp @@ -224,6 +224,7 @@ void MessagePreview::processPreview() { auto image = QImage( rect.size() * style::DevicePixelRatio(), QImage::Format_ARGB32_Premultiplied); + image.setDevicePixelRatio(style::DevicePixelRatio()); image.fill(Qt::transparent); { auto p = QPainter(&image);