# HG changeset patch # User John Bailey # Date 1315714726 0 # Node ID 88a46649de3d7905765bc2a1f2e61cac221ed74b # Parent 7b1cb7651609a59efc9789445ba898a7308b0ccd Remove a bogus short-circuit check intended to prevent downloading the same icon every time a buddy logs in. There are three problems with the check: * The fact that we already have an icon for the buddy doesn't mean it hasn't changed on the server since we last downloaded. * We should really be checking against the server-provided checksum, but we don't know how to checksum the same way the server does. * We no longer receive a checksum at the YMSG protocol level, so we'd have to parse such a checksum out of the picture URL, which is going to be fragile and seems just plain stupid to me. It seems better to me all around to just axe the check and potentially waste some bandwidth. If someone wants to figure out a bandwidth-saving fix for this, feel free. At any rate, this fixes #13050. diff -r 7b1cb7651609 -r 88a46649de3d libpurple/protocols/yahoo/yahoo_picture.c --- a/libpurple/protocols/yahoo/yahoo_picture.c Wed Aug 24 15:05:10 2011 +0000 +++ b/libpurple/protocols/yahoo/yahoo_picture.c Sun Sep 11 04:18:46 2011 +0000 @@ -123,16 +123,9 @@ /* TODO: make this work p2p, try p2p before the url */ PurpleUtilFetchUrlData *url_data; struct yahoo_fetch_picture_data *data; - PurpleBuddy *b = purple_find_buddy(gc->account, who); - const char *locksum = NULL; /* use whole URL if using HTTP Proxy */ gboolean use_whole_url = yahoo_account_use_http_proxy(gc); - /* FIXME: Cleanup this strtol() stuff if possible. */ - if (b && (locksum = purple_buddy_icons_get_checksum_for_user(b)) != NULL && - (checksum == strtol(locksum, NULL, 10))) - return; - data = g_new0(struct yahoo_fetch_picture_data, 1); data->gc = gc; data->who = g_strdup(who);