--- a/libpurple/protocols/oscar/oscar_data.c Mon Jul 21 06:44:21 2008 +0000 +++ b/libpurple/protocols/oscar/oscar_data.c Mon Jul 21 07:46:23 2008 +0000 @@ -88,17 +88,16 @@ while (od->requesticon) { - gchar *sn = od->requesticon->data; - od->requesticon = g_slist_remove(od->requesticon, sn); - g_free(sn); + g_free(od->requesticon->data); + od->requesticon = g_slist_delete_link(od->requesticon, od->requesticon); } while (od->statusnotes_queue) { - gchar *sn = od->statusnotes_queue->data; - od->statusnotes_queue = g_slist_remove(od->statusnotes_queue, sn); - g_free(sn); + g_free(od->statusnotes_queue->data); + od->statusnotes_queue = g_slist_delete_link(od->statusnotes_queue, + od->statusnotes_queue); } - if (od->statusnotes_queue_timer) + if (od->statusnotes_queue_timer > 0) purple_timeout_remove(od->statusnotes_queue_timer); g_free(od->email); g_free(od->newp);