Due to bgo#624249, GLib.List.remove() leaks an item reference, so we need to
manually unreference each persona we remove from the personas list in
Individual.
foreach (var persona in persona_set)
{
this._personas.remove (persona);
+ /* FIXME: bgo#624249 means GLib.List leaks item references.
+ * We probably eventually want to transition away from GLib.List
+ * and use Gee.LinkedList, but that would mean exposing libgee
+ * in the public API. */
+ g_object_unref (persona);
}
}
if (store != null)
persona_set.remove (p);
this._personas.remove (p);
+ /* FIXME: bgo#624249 means GLib.List leaks item references */
+ g_object_unref (p);
});
if (this._personas.length () < 1)