core/calendar-monitor: Keep event alive while removing it

This might be the last reference to it, so keep it alive while
the signal is being emitted.
This commit is contained in:
Georges Basile Stavracas Neto
2023-03-16 12:27:47 +00:00
parent daec07c9f6
commit 0a0128bf4c
+4
View File
@@ -1022,8 +1022,12 @@ remove_all_events (GcalCalendarMonitor *self)
g_hash_table_iter_init (&iter, self->shared.events);
while (g_hash_table_iter_next (&iter, NULL, (gpointer*) &event))
{
g_object_ref (event);
g_hash_table_iter_remove (&iter);
g_signal_emit (self, signals[EVENT_REMOVED], 0, event);
g_object_unref (event);
}
}