--- a/libpurple/protocols/gg/image-prpl.c Sat Sep 17 12:40:58 2016 -0500 +++ b/libpurple/protocols/gg/image-prpl.c Sat Sep 17 14:47:33 2016 -0500 @@ -153,12 +153,13 @@ image_reply->crc32, image_reply->size, image_reply->filename, id); + img = purple_image_new_from_data( + (const guint8 *)image_reply->image, + image_reply->size + ); purple_image_set_friendly_filename(img, image_reply->filename); - purple_image_transfer_write(img, - g_memdup(image_reply->image, image_reply->size), - image_reply->size); - purple_image_transfer_close(img); + g_hash_table_insert(sdata->recv_images, &id, img); } void ggp_image_send(PurpleConnection *gc, @@ -247,8 +248,7 @@ } - img = purple_image_transfer_new(); - g_hash_table_insert(sdata->recv_images, ggp_uint64dup(id), img); + g_hash_table_insert(sdata->recv_images, ggp_uint64dup(id), NULL); purple_debug_info("gg", "ggp_image_request: requesting image " GGP_IMAGE_ID_FORMAT, id);