pidgin.2.x.y: be5e66ab: Remove a bogus short-circuit check inten...

rekkanoryo at pidgin.im rekkanoryo at pidgin.im
Sun Sep 11 00:27:10 EDT 2011


----------------------------------------------------------------------
Revision: be5e66abad2af29604bc794cc4c6600ab12751f3
Parent:   a3c911b63a6bec656108e0a50da6a7ad325558ec
Author:   rekkanoryo at pidgin.im
Date:     09/11/11 00:18:46
Branch:   im.pidgin.pidgin.2.x.y
URL: http://d.pidgin.im/viewmtn/revision/info/be5e66abad2af29604bc794cc4c6600ab12751f3

Changelog: 

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 a3c911b63a6bec656108e0a50da6a7ad325558ec

  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