# HG changeset patch # User Will Thompson # Date 1192447173 0 # Node ID 07b27e3522e3a02a4d1ddad72846bcfce1a628e1 # Parent a9f1e320d94d7d8a2e26a66de047ff158237d47e# Parent 52deb216049686886032be9eff2575eda70e01c4 merge of '732917d4f1ac90e4c7e5143bbd59513fd6eef921' and 'ce7bc52a1e7b3d401f32806e3c3fe19c759152fc' diff -r a9f1e320d94d -r 07b27e3522e3 libpurple/notify.c --- a/libpurple/notify.c Mon Oct 15 04:45:51 2007 +0000 +++ b/libpurple/notify.c Mon Oct 15 11:19:33 2007 +0000 @@ -688,8 +688,11 @@ void purple_notify_user_info_remove_last_item(PurpleNotifyUserInfo *user_info) { - user_info->user_info_entries = g_list_remove(user_info->user_info_entries, - g_list_last(user_info->user_info_entries)->data); + GList *last = g_list_last(user_info->user_info_entries); + if (last) { + purple_notify_user_info_entry_destroy(last->data); + user_info->user_info_entries = g_list_remove_link(user_info->user_info_entries, last); + } } void * diff -r a9f1e320d94d -r 07b27e3522e3 libpurple/notify.h --- a/libpurple/notify.h Mon Oct 15 04:45:51 2007 +0000 +++ b/libpurple/notify.h Mon Oct 15 11:19:33 2007 +0000 @@ -539,7 +539,7 @@ void purple_notify_user_info_prepend_pair(PurpleNotifyUserInfo *user_info, const char *label, const char *value); /** - * Remove a PurpleNotifyUserInfoEntry from a PurpleNotifyUserInfo object + * Remove a PurpleNotifyUserInfoEntry from a PurpleNotifyUserInfo object without freeing the entry. * * @param user_info The PurpleNotifyUserInfo * @param user_info_entry The PurpleNotifyUserInfoEntry diff -r a9f1e320d94d -r 07b27e3522e3 libpurple/protocols/msn/msn.c --- a/libpurple/protocols/msn/msn.c Mon Oct 15 04:45:51 2007 +0000 +++ b/libpurple/protocols/msn/msn.c Mon Oct 15 11:19:33 2007 +0000 @@ -1594,7 +1594,6 @@ gboolean sect_info = FALSE; gboolean has_contact_info = FALSE; char *url_buffer; - GString *s, *s2; int stripped_len; #if PHOTO_SUPPORT char *photo_url_text = NULL; @@ -1679,11 +1678,6 @@ purple_debug_misc("msn", "stripped = %p\n", stripped); purple_debug_misc("msn", "url_buffer = %p\n", url_buffer); - /* Gonna re-use the memory we've already got for url_buffer */ - /* No we're not. */ - s = g_string_sized_new(strlen(url_buffer)); - s2 = g_string_sized_new(strlen(url_buffer)); - /* General section header */ if (has_tooltip_text) purple_notify_user_info_add_section_break(user_info); @@ -2030,7 +2024,7 @@ purple_debug_warning("msn", "invalid connection. ignoring buddy photo info.\n"); g_free(stripped); g_free(url_buffer); - g_free(user_info); + purple_notify_user_info_destroy(user_info); g_free(info_data->name); g_free(info_data); g_free(photo_url_text);