[Spice-devel] [PATCH spice-gtk 1/3] MainChannel: move task free from finalize to dispose
Jonathon Jongsma
jjongsma at redhat.com
Thu Oct 22 08:42:09 PDT 2015
On Thu, 2015-10-22 at 13:10 +0200, Fabiano FidĂȘncio wrote:
> On Thu, Oct 22, 2015 at 1:03 PM, Victor Toso <lists at victortoso.com>
> wrote:
> > Hi,
> >
> > On Thu, Oct 22, 2015 at 10:06:04AM +0200, Fabiano FidĂȘncio wrote:
> > > On Thu, Oct 22, 2015 at 9:13 AM, Victor Toso <
> > > lists at victortoso.com> wrote:
> > > > Hi,
> > > >
> > > > On Wed, Oct 21, 2015 at 03:52:49PM -0500, Jonathon Jongsma
> > > > wrote:
> > > > > + 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.
> >
> > g_clear_object is 2.28, I checked in the manual before saying, just
> > to
> > be sure:
> >
> > https://developer.gnome.org/gobject/unstable/gobject-The-Base-Objec
> > t-Type.html#g-clear-object
>
> Sure it is.
> OTOH, g_clear_object() works basically as g_clear_pointer(&object,
> g_object_unref); and, in this case, it is not what we want, right?.
> So, you would need to use g_clear_pointer(&object,
> g_hash_table_unref)l and g_clear_pointer has been there since 2.34,
> as
> I said.
> Anyways, it doesn't matter that much as we have both on glib-compat,
> as pointed by Pavel.
Ah, didn't realize we had this in glib-compat already. I've pushed this
series but changed to use g_clear_pointer in both instances.
Thanks!
Jonathon
More information about the Spice-devel
mailing list