From bdc435fe61063547141b34ac6ebe9a404ccdfdb2 Mon Sep 17 00:00:00 2001 From: Victor Kareh Date: Wed, 1 Apr 2026 16:37:22 -0400 Subject: clock: fix memory leaks in EDS event list handling The calendar popup was not freeing the list of events returned by the calendar client after populating the appointment and task views. This caused unbounded memory growth every time the popup was opened. --- applets/clock/calendar-window.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/applets/clock/calendar-window.c b/applets/clock/calendar-window.c index bd117a3f..79780d34 100644 --- a/applets/clock/calendar-window.c +++ b/applets/clock/calendar-window.c @@ -1423,6 +1423,8 @@ handle_appointments_changed (CalendarWindow *calwin) update_frame_visibility (calwin->priv->appointment_list, GTK_TREE_MODEL (calwin->priv->appointments_filter)); + g_slist_free_full (events, (GDestroyNotify) calendar_event_free); + /* Auto-scroll to next upcoming event */ if (calwin->priv->appointment_tree_view) { GtkTreeView *tree_view = GTK_TREE_VIEW(calwin->priv->appointment_tree_view); @@ -1544,6 +1546,8 @@ handle_tasks_changed (CalendarWindow *calwin) g_free (percent_complete_text); } + g_slist_free_full (events, (GDestroyNotify) calendar_event_free); + /* Refresh filter before checking visibility */ if (calwin->priv->tasks_filter) gtk_tree_model_filter_refilter (calwin->priv->tasks_filter); -- cgit v1.2.1