diff -r 832cd077145e -r 07746c9a04bf libpurple/protocols/jabber/useravatar.c --- a/libpurple/protocols/jabber/useravatar.c Mon Apr 07 20:02:22 2014 +0530 +++ b/libpurple/protocols/jabber/useravatar.c Fri Apr 11 16:23:12 2014 +0530 @@ -87,7 +87,7 @@ jabber_pep_delete_node(js, NS_AVATAR_0_12_DATA); } -void jabber_avatar_set(JabberStream *js, PurpleStoredImage *img) +void jabber_avatar_set(JabberStream *js, PurpleImage *img) { PurpleXmlNode *publish, *metadata, *item; @@ -130,8 +130,8 @@ } ihdr; } *png = NULL; - if (purple_imgstore_get_size(img) > sizeof(*png)) - png = purple_imgstore_get_data(img); + if (purple_image_get_size(img) > sizeof(*png)) + png = purple_image_get_data(img); /* check if the data is a valid png file (well, at least to some extent) */ if(png && png->signature[0] == 0x89 && @@ -154,11 +154,12 @@ char *lengthstring, *widthstring, *heightstring; /* compute the sha1 hash */ - char *hash = jabber_calculate_data_hash(purple_imgstore_get_data(img), - purple_imgstore_get_size(img), - "sha1"); - char *base64avatar = purple_base64_encode(purple_imgstore_get_data(img), - purple_imgstore_get_size(img)); + char *hash = jabber_calculate_data_hash( + purple_image_get_data(img), + purple_image_get_size(img), "sha1"); + char *base64avatar = purple_base64_encode( + purple_image_get_data(img), + purple_image_get_size(img)); publish = purple_xmlnode_new("publish"); purple_xmlnode_set_attrib(publish, "node", NS_AVATAR_1_1_DATA); @@ -176,7 +177,7 @@ g_free(base64avatar); lengthstring = g_strdup_printf("%" G_GSIZE_FORMAT, - purple_imgstore_get_size(img)); + purple_image_get_size(img)); widthstring = g_strdup_printf("%u", width); heightstring = g_strdup_printf("%u", height); @@ -237,9 +238,10 @@ */ if ((!items || !metadata) || !purple_strequal(server_hash, js->initial_avatar_hash)) { - PurpleStoredImage *img = purple_buddy_icons_find_account_icon(account); + PurpleImage *img = purple_buddy_icons_find_account_icon(account); jabber_avatar_set(js, img); - purple_imgstore_unref(img); + if (img) + g_object_unref(img); } }