adium: 78f01024: *** Plucked rev be5e66abad2af29604bc794c...

thijsalkemade at thijsalkemade at
Fri Jan 13 16:06:08 EST 2012

Revision: 78f01024866db9d9208f8cc09b8321c7ed04c140
Parent:   e135769d57c55a9ec473ff0537f6eb62c0575408
Author:   thijsalkemade at
Date:     01/13/12 16:02:08
Branch:   im.pidgin.adium


*** Plucked rev be5e66abad2af29604bc794cc4c6600ab12751f3 (rekkanoryo at
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.

Changes against parent e135769d57c55a9ec473ff0537f6eb62c0575408

  patched  libpurple/protocols/yahoo/yahoo_picture.c

-------------- next part --------------
--- libpurple/protocols/yahoo/yahoo_picture.c	07dd300f6c6820faad574d4567ebd8b7480022e0
+++ libpurple/protocols/yahoo/yahoo_picture.c	2355d656ef72d35f7d4b6d03c32e0c49df355e98
@@ -123,16 +123,9 @@ void yahoo_process_picture(PurpleConnect
 		/* 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);

More information about the Commits mailing list