From 07081bb27b79f2e7e3c2892a059e5320e1e1d5c5 Mon Sep 17 00:00:00 2001 From: Vyn Date: Mon, 9 Sep 2024 15:22:05 +0200 Subject: [PATCH] Fix events from different sources not being sorted correctly --- external/mirai-core/src/TasksView.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/external/mirai-core/src/TasksView.cpp b/external/mirai-core/src/TasksView.cpp index fea6925..c7cdfa1 100644 --- a/external/mirai-core/src/TasksView.cpp +++ b/external/mirai-core/src/TasksView.cpp @@ -91,14 +91,6 @@ void TasksView::update() filteredDay.filteredEvents.push_back(filteredEvent); } } - if (!filteredDay.filteredEvents.empty()) { - std::ranges::sort( - filteredDay.filteredEvents, - [](const FilteredEvent &t1, const FilteredEvent &t2) { - return t1.event->getStartTime().hour < t2.event->getStartTime().hour; - } - ); - } if (!filteredDay.filteredEvents.empty() || !filteredDay.filteredTasks.empty()) { auto existingDay = std::ranges::find_if(filteredDays, [&](const FilteredDay &date) { return date.day->getDate() == filteredDay.day->getDate(); @@ -118,6 +110,15 @@ void TasksView::update() } } + for (auto &filteredDay : filteredDays) { + std::ranges::sort( + filteredDay.filteredEvents, + [](const FilteredEvent &t1, const FilteredEvent &t2) { + return t1.event->getStartTime().hour < t2.event->getStartTime().hour; + } + ); + } + std::ranges::sort(filteredDays, [](const FilteredDay &t1, const FilteredDay &t2) { return t1.day->getDate() < t2.day->getDate(); });