libpurple/protocols/gg/image.c

changeset 34371
75f5a3c3cd67
parent 34367
cb229d301bb4
child 34415
378c6f53452d
--- 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;

mercurial