On Thu, Oct 22, 2015 at 9:13 AM, Victor Toso <lists@xxxxxxxxxxxxxx> wrote: > Hi, > > On Wed, Oct 21, 2015 at 03:52:49PM -0500, Jonathon Jongsma 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_clear_object(&c->file_xfer_tasks); No, please, it's wrong. For GHashTable you must use g_clear_pointer() instead of g_clear_object() and g_clear_pointer() is part of GLib since 2.34, while we depend on 2.28. Best Regards, -- Fabiano Fidêncio _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel