diff src/conversation.c @ 4572:06084165a966

[gaim-migrate @ 4853] Leakbug fixes for everybody committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Tue, 11 Feb 2003 17:49:07 +0000
parents 0738264a52ad
children 57e939c91f72
line wrap: on
line diff
--- a/src/conversation.c	Tue Feb 11 17:26:16 2003 +0000
+++ b/src/conversation.c	Tue Feb 11 17:49:07 2003 +0000
@@ -985,6 +985,11 @@
 		gaim_im_stop_typing_timeout(conv->u.im);
 		gaim_im_stop_type_again_timeout(conv->u.im);
 
+		for (node = conv->u.im->images; node != NULL; node = node->next) {
+			if (node->data != NULL)
+				g_free(node->data);
+		}
+
 		g_slist_free(conv->u.im->images);
 
 		g_free(conv->u.im);
@@ -992,6 +997,17 @@
 		ims = g_list_remove(ims, conv);
 	}
 	else if (conv->type == GAIM_CONV_CHAT) {
+
+		for (node = conv->u.chat->in_room; node != NULL; node = node->next) {
+			if (node->data != NULL)
+				g_free(node->data);
+		}
+
+		for (node = conv->u.chat->ignored; node != NULL; node = node->next) {
+			if (node->data != NULL)
+				g_free(node->data);
+		}
+
 		g_list_free(conv->u.chat->in_room);
 		g_list_free(conv->u.chat->ignored);
 
@@ -1001,6 +1017,8 @@
 		if (conv->u.chat->topic != NULL)
 			g_free(conv->u.chat->topic);
 
+		g_free(conv->u.chat->who);
+		g_free(conv->u.chat->topic);
 		g_free(conv->u.chat);
 
 		chats = g_list_remove(chats, conv);