libpurple/xfer.c

branch
soc.2013.gobjectification.plugins
changeset 37134
07746c9a04bf
parent 37119
fdd7282fdad6
parent 35813
a5b71a95a42a
child 37144
8b63b9948107
--- a/libpurple/xfer.c	Mon Apr 07 20:02:22 2014 +0530
+++ b/libpurple/xfer.c	Fri Apr 11 16:23:12 2014 +0530
@@ -24,6 +24,7 @@
 
 #include "dbus-maybe.h"
 #include "enums.h"
+#include "image-store.h"
 #include "xfer.h"
 #include "network.h"
 #include "notify.h"
@@ -258,14 +259,17 @@
 	if (print_thumbnail && thumbnail_data) {
 		gchar *message_with_img;
 		gpointer data = g_memdup(thumbnail_data, size);
-		int id = purple_imgstore_new_with_id(data, size, NULL);
-
-		message_with_img =
-			g_strdup_printf("<img src='" PURPLE_STORED_IMAGE_PROTOCOL "%d'> %s",
-			                id, escaped);
+		PurpleImage *img;
+		guint id;
+
+		img = purple_image_new_from_data(data, size);
+		id = purple_image_store_add(img);
+		g_object_unref(img);
+
+		message_with_img = g_strdup_printf("<img src=\""
+			PURPLE_IMAGE_STORE_PROTOCOL "%u\"> %s", id, escaped);
 		purple_conversation_write(PURPLE_CONVERSATION(im), NULL,
 			message_with_img, flags, time(NULL));
-		purple_imgstore_unref_by_id(id);
 		g_free(message_with_img);
 	} else {
 		purple_conversation_write(PURPLE_CONVERSATION(im), NULL, escaped, flags,

mercurial