From 087c27c5e04ba6a0c6e4aa90684d8e4fdf95a436 Mon Sep 17 00:00:00 2001 From: John Preston Date: Thu, 8 Jun 2023 11:11:07 +0400 Subject: [PATCH] Fix expire calculations for the stories. --- Telegram/SourceFiles/boxes/peer_list_controllers.cpp | 11 +++++------ Telegram/SourceFiles/data/data_stories.cpp | 4 ++-- .../SourceFiles/dialogs/ui/dialogs_stories_list.cpp | 4 ++-- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/Telegram/SourceFiles/boxes/peer_list_controllers.cpp b/Telegram/SourceFiles/boxes/peer_list_controllers.cpp index 7fa6e5384..86150e820 100644 --- a/Telegram/SourceFiles/boxes/peer_list_controllers.cpp +++ b/Telegram/SourceFiles/boxes/peer_list_controllers.cpp @@ -11,6 +11,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "base/random.h" #include "ui/boxes/confirm_box.h" #include "ui/widgets/checkbox.h" +#include "ui/wrap/padding_wrap.h" #include "ui/painter.h" #include "ui/ui_utility.h" #include "main/main_session.h" @@ -86,12 +87,10 @@ object_ptr PrepareContactsBox( Data::StorySourcesList::All), [=] { return state->stories->height() - box->scrollTop(); }); const auto raw = state->stories = stories.data(); - box->peerListSetAboveWidget(std::move(stories)); - - raw->entered( - ) | rpl::start_with_next([=] { - //clearSelection(); - }, raw->lifetime()); + box->peerListSetAboveWidget(object_ptr<::Ui::PaddingWrap<>>( + box, + std::move(stories), + style::margins(0, st::membersMarginTop, 0, 0))); raw->clicks( ) | rpl::start_with_next([=](uint64 id) { diff --git a/Telegram/SourceFiles/data/data_stories.cpp b/Telegram/SourceFiles/data/data_stories.cpp index 972e3c69a..52eb79672 100644 --- a/Telegram/SourceFiles/data/data_stories.cpp +++ b/Telegram/SourceFiles/data/data_stories.cpp @@ -552,7 +552,7 @@ Story *Stories::parseAndApply( return nullptr; } const auto expires = data.vexpire_date().v; - const auto expired = (expires >= now); + const auto expired = (expires <= now); if (expired && !data.is_pinned() && !peer->isSelf()) { return nullptr; } @@ -618,7 +618,7 @@ StoryIdDates Stories::parseAndApply( return StoryIdDates(); }, [&](const MTPDstoryItemSkipped &data) { const auto expires = data.vexpire_date().v; - const auto expired = (expires >= now); + const auto expired = (expires <= now); const auto fullId = FullStoryId{ peer->id, data.vid().v }; if (!expired) { registerExpiring(expires, fullId); diff --git a/Telegram/SourceFiles/dialogs/ui/dialogs_stories_list.cpp b/Telegram/SourceFiles/dialogs/ui/dialogs_stories_list.cpp index ec470a92d..213af18b7 100644 --- a/Telegram/SourceFiles/dialogs/ui/dialogs_stories_list.cpp +++ b/Telegram/SourceFiles/dialogs/ui/dialogs_stories_list.cpp @@ -337,8 +337,6 @@ void List::paintEvent(QPaintEvent *e) { const auto drawFull = (ratio > 0.); auto hq = PainterHighQualityEnabler(p); - paintSummary(p, rendering, summaryTop, ratio); - const auto count = std::max( layout.endIndexFull - layout.startIndexFull, layout.endIndexSmall - layout.startIndexSmall); @@ -485,6 +483,8 @@ void List::paintEvent(QPaintEvent *e) { } p.setOpacity(1.); }); + + paintSummary(p, rendering, summaryTop, ratio); } void List::validateUserpic(not_null item) {