--- 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,