Mercurial > pidgin.yaz
diff src/protocols/oscar/oscar.c @ 7054:7c04a0775918
[gaim-migrate @ 7617]
WinGaim 0.69 moved the gaim settings directory exposing an oscar bug..
What to do if a buddy icon cache copy does not exist but a check sum does.
Also moved win32 code to initialize gaim settings dir before core initializations.
committer: Tailor Script <tailor@pidgin.im>
author | Herman Bloggs <hermanator12002@yahoo.com> |
---|---|
date | Tue, 30 Sep 2003 05:36:28 +0000 |
parents | 237ad253dd34 |
children | 9946001989a3 |
line wrap: on
line diff
--- a/src/protocols/oscar/oscar.c Tue Sep 30 03:06:50 2003 +0000 +++ b/src/protocols/oscar/oscar.c Tue Sep 30 05:36:28 2003 +0000 @@ -1824,10 +1824,19 @@ if (info->iconcsumlen) { char *b16, *saved_b16; GaimBuddy *b; + FILE *file; b16 = tobase16(info->iconcsum, info->iconcsumlen); b = gaim_find_buddy(gc->account, info->sn); - saved_b16 = gaim_buddy_get_setting(b, "icon_checksum"); + /* If for some reason the checksum is valid, but cached file is not.. + we want to know. */ + if((file = fopen(gaim_buddy_get_setting(b, "buddy_icon"), "rb"))) { + fclose(file); + saved_b16 = gaim_buddy_get_setting(b, "icon_checksum"); + } + else + saved_b16 = NULL; + if (!b16 || !saved_b16 || strcmp(b16, saved_b16)) { GSList *cur = od->requesticon; while (cur && aim_sncmp((char *)cur->data, info->sn))