changeset 26290:44684f0d2e42

Plug some memory leaks related to transports.
author Mike Ruprecht <maiku@soc.pidgin.im>
date Thu, 19 Mar 2009 00:58:55 +0000
parents 20062fbc8684
children 30cc73d99789
files libpurple/protocols/jabber/jingle/content.c libpurple/protocols/jabber/jingle/iceudp.c libpurple/protocols/jabber/jingle/rawudp.c libpurple/protocols/jabber/jingle/rtp.c
diffstat 4 files changed, 9 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/jabber/jingle/content.c	Wed Mar 18 23:10:54 2009 +0000
+++ b/libpurple/protocols/jabber/jingle/content.c	Thu Mar 19 00:58:55 2009 +0000
@@ -433,6 +433,7 @@
 			transport = jingle_content_get_transport(content);
 
 		jingle_transport_to_xml(transport, node, action);
+		g_object_unref(transport);
 	}
 
 	return node;
--- a/libpurple/protocols/jabber/jingle/iceudp.c	Wed Mar 18 23:10:54 2009 +0000
+++ b/libpurple/protocols/jabber/jingle/iceudp.c	Thu Mar 19 00:58:55 2009 +0000
@@ -185,6 +185,8 @@
 {
 /*	JingleIceUdpPrivate *priv = JINGLE_ICEUDP_GET_PRIVATE(iceudp); */
 	purple_debug_info("jingle","jingle_iceudp_finalize\n");
+
+	G_OBJECT_CLASS(parent_class)->finalize(iceudp);
 }
 
 static void
--- a/libpurple/protocols/jabber/jingle/rawudp.c	Wed Mar 18 23:10:54 2009 +0000
+++ b/libpurple/protocols/jabber/jingle/rawudp.c	Thu Mar 19 00:58:55 2009 +0000
@@ -157,6 +157,8 @@
 {
 /*	JingleRawUdpPrivate *priv = JINGLE_RAWUDP_GET_PRIVATE(rawudp); */
 	purple_debug_info("jingle","jingle_rawudp_finalize\n");
+
+	G_OBJECT_CLASS(parent_class)->finalize(rawudp);
 }
 
 static void
--- a/libpurple/protocols/jabber/jingle/rtp.c	Wed Mar 18 23:10:54 2009 +0000
+++ b/libpurple/protocols/jabber/jingle/rtp.c	Thu Mar 19 00:58:55 2009 +0000
@@ -135,6 +135,8 @@
 
 	g_free(priv->media_type);
 	g_free(priv->ssrc);
+
+	G_OBJECT_CLASS(parent_class)->finalize(rtp);
 }
 
 static void
@@ -370,6 +372,7 @@
 					JINGLE_TYPE_RAWUDP : JINGLE_TYPE_ICEUDP,
 				0, candidates));
 		g_list_free(candidates);
+		g_object_unref(oldtransport);
 
 		jingle_content_set_pending_transport(content, transport);
 		jingle_content_accept_transport(content);
@@ -461,6 +464,7 @@
 		transmitter = "nice";
 	else
 		transmitter = "notransmitter";
+	g_object_unref(transport);
 
 	is_audio = !strcmp(media_type, "audio");