static void twitter_conv_icon_free(TwitterConvIcon * conv_icon) { if (!conv_icon) return; purple_debug_info(PLUGIN_ID, "Freeing icon for %s\n", conv_icon->username); if (conv_icon->requested) { if (conv_icon->fetch_data) { purple_util_fetch_url_cancel(conv_icon->fetch_data); } conv_icon->fetch_data = NULL; conv_icon->requested = FALSE; } if (conv_icon->request_list) remove_marks_func(conv_icon, NULL); conv_icon->request_list = NULL; if (conv_icon->pixbuf) { g_object_unref(G_OBJECT(conv_icon->pixbuf)); } conv_icon->pixbuf = NULL; if (conv_icon->icon_url) g_free(conv_icon->icon_url); conv_icon->icon_url = NULL; g_free(conv_icon->username); conv_icon->username = NULL; g_free(conv_icon); }
static void cleanup_hash_entry_func(gpointer key, gpointer value, gpointer user_data) { remove_marks_func(key, value, user_data); cancel_fetch_func(key, value, user_data); }