calendar-monitor: Don't remove events unnecessarily

Apparently I never properly implemented range comparison in
remove_events_outside_range(). Do so now.

This makes the infinite scrolling month view stop flickering
events when changing weeks.
This commit is contained in:
Georges Basile Stavracas Neto
2023-08-02 11:04:52 -03:00
parent f7ee9279ad
commit 745e022aa0
+5
View File
@@ -967,6 +967,11 @@ remove_events_outside_range (GcalCalendarMonitor *self,
g_hash_table_iter_init (&iter, self->shared.events);
while (g_hash_table_iter_next (&iter, NULL, (gpointer*) &event))
{
GcalRange *event_range = gcal_event_get_range (event);
if (gcal_range_calculate_overlap (range, event_range, NULL) != GCAL_RANGE_NO_OVERLAP)
continue;
g_object_ref (event);
g_hash_table_iter_remove (&iter);