--- a/libpurple/protocols/gg/image.c Wed Sep 19 14:49:53 2012 +0200 +++ b/libpurple/protocols/gg/image.c Thu Sep 20 19:54:42 2012 +0200 @@ -233,6 +233,13 @@ sent_image = g_hash_table_lookup(sdata->sent_images, &id); + if (sent_image == NULL && image_request->sender == ggp_str_to_uin( + purple_account_get_username(purple_connection_get_account(gc)))) + { + purple_debug_misc("gg", "ggp_image_send: requested image " + "not found, but this may be another session request\n"); + return; + } if (sent_image == NULL) { purple_debug_warning("gg", "ggp_image_send: requested image " @@ -310,6 +317,11 @@ if (gg_image_request(accdata->session, uin, size, crc) != 0) purple_debug_error("gg", "ggp_image_request: failed\n"); } + else + { + purple_debug_info("gg", "ggp_image_request: " + "image %016llx already requested\n", id); + } listener = g_new0(ggp_image_requested_listener, 1); listener->cb = cb;