# HG changeset patch # User Richard Laager # Date 1177543786 0 # Node ID 3be560001d26f7072a7544ab758d73d3aedbcc46 # Parent 6f197c81d478ecb2f0f70dc72ba52b38e669a5f2 Kill some compiler warnings and TODOs of mine. diff -r 6f197c81d478 -r 3be560001d26 libpurple/account.c --- a/libpurple/account.c Wed Apr 25 22:24:15 2007 +0000 +++ b/libpurple/account.c Wed Apr 25 23:29:46 2007 +0000 @@ -740,7 +740,17 @@ child = xmlnode_get_child(node, "buddyicon"); if ((child != NULL) && ((data = xmlnode_get_data(child)) != NULL)) { - // TODO: Read the file and cache it using the new system + const char *dirname = purple_buddy_icons_get_cache_dir(); + char *filename = g_build_filename(dirname, data, NULL); + gchar *contents; + gsize len; + + if (g_file_get_contents(filename, &contents, &len, NULL)) + { + purple_buddy_icons_set_account_icon(ret, (guchar *)contents, len); + } + + g_free(filename); g_free(data); } diff -r 6f197c81d478 -r 3be560001d26 libpurple/buddyicon.c --- a/libpurple/buddyicon.c Wed Apr 25 22:24:15 2007 +0000 +++ b/libpurple/buddyicon.c Wed Apr 25 23:29:46 2007 +0000 @@ -443,10 +443,12 @@ icon->img = NULL; if (data != NULL) + { if (len > 0) icon->img = purple_buddy_icon_data_new(data, len, NULL); else g_free(data); + } icon->checksum = g_strdup(checksum); @@ -696,8 +698,7 @@ } else { - // TODO - // purple_account_remove_setting(account, "buddy_icon"); + purple_account_set_string(account, "buddy_icon", NULL); } unref_filename(old_icon); @@ -964,9 +965,6 @@ PurpleBlistNode *node = purple_blist_get_root(); const char *dirname = purple_buddy_icons_get_cache_dir(); - // TODO: TEMP - //old_icons_dir = g_strdup("/home/rlaager/.gaim/icons"); - /* Doing this once here saves having to check it inside a loop. */ if (old_icons_dir != NULL) { diff -r 6f197c81d478 -r 3be560001d26 libpurple/protocols/msn/slp.c --- a/libpurple/protocols/msn/slp.c Wed Apr 25 22:24:15 2007 +0000 +++ b/libpurple/protocols/msn/slp.c Wed Apr 25 23:29:46 2007 +0000 @@ -1090,7 +1090,7 @@ len = purple_imgstore_get_size(img); } - purple_buddy_icons_set_for_user(account, user->passport, data, len, info); + purple_buddy_icons_set_for_user(account, user->passport, g_memdup(data, len), len, info); /* Free one window slot */ session->userlist->buddy_icon_window++; diff -r 6f197c81d478 -r 3be560001d26 pidgin/gtkaccount.c --- a/pidgin/gtkaccount.c Wed Apr 25 22:24:15 2007 +0000 +++ b/pidgin/gtkaccount.c Wed Apr 25 23:29:46 2007 +0000 @@ -200,10 +200,12 @@ purple_imgstore_unref(dialog->icon_img); if (data != NULL) + { if (len > 0) dialog->icon_img = purple_imgstore_add(data, len, new_icon_path); else g_free(data); + } if (dialog->icon_img != NULL) { GdkPixbufLoader *loader = gdk_pixbuf_loader_new();