On Wed, Oct 21, 2015 at 10:52 PM, Jonathon Jongsma <jjongsma@xxxxxxxxxx> wrote: > In order to avoid reference cycles, you're supposed to release > references in dispose, especially to those objects that can hold > references to yourself. This probably wasn't causing any leaks, since > the file transfer tasks generally are not alive when the main channel is > destroyed, but it's more proper. > --- > src/channel-main.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/src/channel-main.c b/src/channel-main.c > index 3a8c1dd..0a73e92 100644 > --- a/src/channel-main.c > +++ b/src/channel-main.c > @@ -405,6 +405,11 @@ static void spice_main_channel_dispose(GObject *obj) > c->migrate_delayed_id = 0; > } > > + if (c->file_xfer_tasks) { > + g_hash_table_unref(c->file_xfer_tasks); > + c->file_xfer_tasks = NULL; > + } > + > g_cancellable_cancel(c->cancellable_volume_info); > g_clear_object(&c->cancellable_volume_info); > > @@ -418,8 +423,6 @@ static void spice_main_channel_finalize(GObject *obj) > > g_free(c->agent_msg_data); > agent_free_msg_queue(SPICE_MAIN_CHANNEL(obj)); > - if (c->file_xfer_tasks) > - g_hash_table_unref(c->file_xfer_tasks); > > if (G_OBJECT_CLASS(spice_main_channel_parent_class)->finalize) > G_OBJECT_CLASS(spice_main_channel_parent_class)->finalize(obj); > -- > 2.4.3 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/spice-devel The whole series look good! -- Fabiano Fidêncio _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel