diff libpurple/protocols/jabber/si.c @ 29822:25a53c299713

Allow PRPLs to specify the image formats acceptable for thumbnails (in preferred order).
author Marcus Lundblad <ml@update.uu.se>
date Mon, 15 Mar 2010 21:49:02 +0000
parents b680a9f2b641
children 79bb2804a19e
line wrap: on
line diff
--- a/libpurple/protocols/jabber/si.c	Sun Mar 14 21:20:14 2010 +0000
+++ b/libpurple/protocols/jabber/si.c	Mon Mar 15 21:49:02 2010 +0000
@@ -1267,15 +1267,16 @@
 
 	/* add thumbnail, if appropriate */
 	if (purple_xfer_get_thumbnail_data(xfer)) {
-		JabberData *thumbnail_data = 
+		const gchar *mimetype = purple_xfer_get_thumbnail_mimetype(xfer);
+		JabberData *thumbnail_data =
 			jabber_data_create_from_data(purple_xfer_get_thumbnail_data(xfer),
-				purple_xfer_get_thumbnail_size(xfer), "image/png", TRUE,
+				purple_xfer_get_thumbnail_size(xfer), mimetype, TRUE,
 				jsx->js);
 		xmlnode *thumbnail = xmlnode_new_child(file, "thumbnail");
 		xmlnode_set_namespace(thumbnail, NS_THUMBS);
 		xmlnode_set_attrib(thumbnail, "cid", 
 			jabber_data_get_cid(thumbnail_data));
-		xmlnode_set_attrib(thumbnail, "mime-type", "image/png");
+		xmlnode_set_attrib(thumbnail, "mime-type", mimetype);
 		/* cache data */
 		jabber_data_associate_local(thumbnail_data, NULL);
 	}
@@ -1671,7 +1672,7 @@
 
 		if (data) {
 			purple_xfer_set_thumbnail(xfer, jabber_data_get_data(data),
-				jabber_data_get_size(data));
+				jabber_data_get_size(data), jabber_data_get_type(data));
 			jabber_data_destroy(data);
 		}
 	} else if (item_not_found) {