Index: xfconf/xfconf-channel.c =================================================================== --- xfconf/xfconf-channel.c (revision 30069) +++ xfconf/xfconf-channel.c (working copy) @@ -106,6 +106,7 @@ guint property_id, GValue *value, GParamSpec *pspec); +static void xfconf_channel_dispose(GObject *obj); static void xfconf_channel_finalize(GObject *obj); static void xfconf_channel_property_changed(DBusGProxy *proxy, @@ -133,6 +134,7 @@ object_class->set_property = xfconf_channel_set_g_property; object_class->get_property = xfconf_channel_get_g_property; + object_class->dispose = xfconf_channel_dispose; object_class->finalize = xfconf_channel_finalize; /** @@ -250,7 +252,7 @@ } static void -xfconf_channel_finalize(GObject *obj) +xfconf_channel_dispose(GObject *obj) { XfconfChannel *channel = XFCONF_CHANNEL(obj); DBusGProxy *proxy = _xfconf_get_dbus_g_proxy(); @@ -263,6 +265,14 @@ G_CALLBACK(xfconf_channel_property_removed), channel); + G_OBJECT_CLASS(xfconf_channel_parent_class)->dispose(obj); +} + +static void +xfconf_channel_finalize(GObject *obj) +{ + XfconfChannel *channel = XFCONF_CHANNEL(obj); + g_free(channel->channel_name); g_free(channel->property_base);