views/week: Don't deal with events out of range

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742>
This commit is contained in:
Georges Basile Stavracas Neto
2026-05-03 16:57:54 +00:00
committed by Marge Bot
parent c71fcf7029
commit c084e28400
+10
View File
@@ -292,6 +292,9 @@ static void
recalculate_layout_blocks (GcalWeekGrid *self)
{
g_autoptr (GcalRangeTree) blocks_by_range = NULL;
g_autoptr (GDateTime) week_start = NULL;
g_autoptr (GDateTime) week_end = NULL;
g_autoptr (GcalRange) range = NULL;
size_t n_events = 0;
GCAL_ENTRY;
@@ -301,6 +304,10 @@ recalculate_layout_blocks (GcalWeekGrid *self)
blocks_by_range = gcal_range_tree_new ();
week_start = gcal_date_time_get_start_of_week (self->active_date);
week_end = g_date_time_add_weeks (week_start, 1);
range = gcal_range_new (week_start, week_end, GCAL_RANGE_DEFAULT);
/* Remove all blocks */
g_ptr_array_set_size (self->layout_blocks, 0);
@@ -318,6 +325,9 @@ recalculate_layout_blocks (GcalWeekGrid *self)
event = g_list_model_get_item (G_LIST_MODEL (self->sort_model), i);
g_assert (GCAL_IS_EVENT (event));
if (!gcal_event_overlaps (event, range))
continue;
event_range = gcal_event_get_range (event);
blocks_at_range = gcal_range_tree_get_data_at_range (blocks_by_range, event_range);