[telepathy-gabble/master] Don't leak content name and namespace

Will Thompson will.thompson at collabora.co.uk
Thu Jun 11 10:01:20 PDT 2009


---
 src/jingle-content.c          |    6 ++++++
 src/jingle-content.h          |    1 +
 src/jingle-transport-google.c |   10 ++++------
 3 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/jingle-content.c b/src/jingle-content.c
index 02d0671..d57b844 100644
--- a/src/jingle-content.c
+++ b/src/jingle-content.c
@@ -1027,6 +1027,12 @@ gabble_jingle_content_get_name (GabbleJingleContent *self)
 }
 
 const gchar *
+gabble_jingle_content_get_ns (GabbleJingleContent *self)
+{
+  return self->priv->content_ns;
+}
+
+const gchar *
 gabble_jingle_content_get_disposition (GabbleJingleContent *self)
 {
   return self->priv->disposition;
diff --git a/src/jingle-content.h b/src/jingle-content.h
index a23110a..62c159f 100644
--- a/src/jingle-content.h
+++ b/src/jingle-content.h
@@ -122,6 +122,7 @@ gboolean gabble_jingle_content_is_created_by_us (GabbleJingleContent *c);
 gboolean gabble_jingle_content_creator_is_initiator (GabbleJingleContent *c);
 
 const gchar *gabble_jingle_content_get_name (GabbleJingleContent *self);
+const gchar *gabble_jingle_content_get_ns (GabbleJingleContent *self);
 const gchar *gabble_jingle_content_get_disposition (GabbleJingleContent *self);
 
 void gabble_jingle_content_maybe_send_description (GabbleJingleContent *self);
diff --git a/src/jingle-transport-google.c b/src/jingle-transport-google.c
index b371c4a..4a216a7 100644
--- a/src/jingle-transport-google.c
+++ b/src/jingle-transport-google.c
@@ -393,15 +393,13 @@ transmit_candidates (GabbleJingleTransportGoogle *transport, GList *candidates)
     }
   else
     {
-      const gchar *cname, *cns;
-
-      g_object_get (GABBLE_JINGLE_CONTENT (priv->content),
-          "name", &cname, "content-ns", &cns, NULL);
+      const gchar *name = gabble_jingle_content_get_name (priv->content);
+      const gchar *ns = gabble_jingle_content_get_ns (priv->content);
 
       /* we need the <content> ... */
       trans_node = lm_message_node_add_child (sess_node, "content", NULL);
-      lm_message_node_set_attribute (trans_node, "xmlns", cns);
-      lm_message_node_set_attribute (trans_node, "name", cname);
+      lm_message_node_set_attribute (trans_node, "xmlns", ns);
+      lm_message_node_set_attribute (trans_node, "name", name);
 
       /* .. and the <transport> node */
       trans_node = lm_message_node_add_child (trans_node, "transport", NULL);
-- 
1.5.6.5




More information about the telepathy-commits mailing list