summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Kareh <[email protected]>2026-04-01 16:37:22 -0400
committerVictor Kareh <[email protected]>2026-05-19 17:32:24 -0400
commitbdc435fe61063547141b34ac6ebe9a404ccdfdb2 (patch)
tree55f21e652e68bce081f7458ed53c4dcc181c36e4
parent11ef3517eca7217c8ac6a2607ec06129063a4bf8 (diff)
downloadmate-panel-bdc435fe61063547141b34ac6ebe9a404ccdfdb2.tar.bz2
mate-panel-bdc435fe61063547141b34ac6ebe9a404ccdfdb2.tar.xz
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.
-rw-r--r--applets/clock/calendar-window.c4
1 files changed, 4 insertions, 0 deletions
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);