diff pidgin/gtkblist.c @ 23699:fc8047e1fa39

fixed some leaks and made theme loading safer
author Justin Rodriguez <ffdragon@soc.pidgin.im>
date Fri, 08 Aug 2008 21:26:12 +0000
parents f76e9db37141
children 2d436084d866
line wrap: on
line diff
--- a/pidgin/gtkblist.c	Fri Aug 08 20:56:44 2008 +0000
+++ b/pidgin/gtkblist.c	Fri Aug 08 21:26:12 2008 +0000
@@ -3788,14 +3788,14 @@
 gchar *
 pidgin_blist_get_name_markup(PurpleBuddy *b, gboolean selected, gboolean aliased)
 {
-	const char *name;
-	char *text = NULL, *name_color, *name_font, *status_color, *status_font;
+	const char *name, *name_color, *name_font, *status_color, *status_font;
+	char *text = NULL;
 	PurplePlugin *prpl;
 	PurplePluginProtocolInfo *prpl_info = NULL;
 	PurpleContact *contact;
 	PurplePresence *presence;
 	struct _pidgin_blist_node *gtkcontactnode = NULL;
-	char *idletime = NULL, *statustext = NULL, *nametext;
+	char *idletime = NULL, *statustext = NULL, *nametext = NULL;
 	PurpleConversation *conv = find_conversation_with_buddy(b);
 	gboolean hidden_conv = FALSE;
 	gboolean biglist = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_buddy_icons");
@@ -3971,6 +3971,12 @@
 
 	} else text = g_strdup_printf("<span font_desc='%s' color='%s'>%s</span>", name_font, name_color, nametext); 
 
+	g_free(nametext);
+	if (statustext)
+		g_free(statustext);
+	if (idletime)
+		g_free(idletime);
+
 	if (hidden_conv) {
 		char *tmp = text;
 		text = g_strdup_printf("<b>%s</b>", tmp);