[Telepathy-commits] [telepathy-salut/master] Fix previous commit: Fix leaks of ContactManager and XmppConnectionManager

Alban Crequy alban.crequy at collabora.co.uk
Tue Nov 25 03:59:38 PST 2008


---
 src/salut-tubes-manager.c |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/salut-tubes-manager.c b/src/salut-tubes-manager.c
index 3bbbb7f..281f4f9 100644
--- a/src/salut-tubes-manager.c
+++ b/src/salut-tubes-manager.c
@@ -398,6 +398,18 @@ salut_tubes_manager_dispose (GObject *object)
   tp_channel_factory_iface_close_all (TP_CHANNEL_FACTORY_IFACE (object));
   g_assert (priv->channels == NULL);
 
+  if (priv->contact_manager != NULL)
+    {
+      g_object_unref (priv->contact_manager);
+      priv->contact_manager = NULL;
+    }
+
+  if (priv->xmpp_connection_manager != NULL)
+    {
+      g_object_unref (priv->xmpp_connection_manager);
+      priv->xmpp_connection_manager = NULL;
+    }
+
   if (G_OBJECT_CLASS (salut_tubes_manager_parent_class)->dispose)
     G_OBJECT_CLASS (salut_tubes_manager_parent_class)->dispose (
         object);
@@ -446,10 +458,10 @@ salut_tubes_manager_set_property (GObject *object,
         priv->conn = g_value_get_object (value);
         break;
       case PROP_CONTACT_MANAGER:
-        priv->contact_manager = g_value_get_object (value);
+        priv->contact_manager = g_value_dup_object (value);
         break;
       case PROP_XMPP_CONNECTION_MANAGER:
-        priv->xmpp_connection_manager = g_value_get_object (value);
+        priv->xmpp_connection_manager = g_value_dup_object (value);
         break;
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-- 
1.5.6.5




More information about the Telepathy-commits mailing list