libpurple/protocols/jabber/useravatar.c

branch
soc.2013.gobjectification.plugins
changeset 37134
07746c9a04bf
parent 36692
324db2a53c4c
parent 35823
268a9d3b3fd7
child 38298
f0a8f63f9312
child 38327
c842a56b9967
--- 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);
 	}
 }
 

mercurial