changeset 5300:5344eb60f421

[gaim-migrate @ 5672] <malsyned> Hey, is this a bug? when I block someone and then close their window, I'm told "Your message to (null) did not get sent: In local permit/deny" <faceprint> malsyned: what protocol? <malsyned> Oscar <faceprint> yes, that's a bug <SeanEgan> probably a typing notification thing? This fixes that. And now I should get back to the how you say... ah yes, "studying." committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Mon, 05 May 2003 23:30:42 +0000
parents ee2b7e4de04e
children d846a933299c
files src/protocols/oscar/oscar.c
diffstat 1 files changed, 13 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/protocols/oscar/oscar.c	Mon May 05 20:58:37 2003 +0000
+++ b/src/protocols/oscar/oscar.c	Mon May 05 23:30:42 2003 +0000
@@ -4165,14 +4165,19 @@
 		else
 			aim_odc_send_typing(od->sess, dim->conn, 0x0000);
 	else {
-		struct buddyinfo *bi = g_hash_table_lookup(od->buddyinfo, normalize(name));
-		if (bi && bi->typingnot) {
-			if (typing == TYPING)
-				aim_im_sendmtn(od->sess, 0x0001, name, 0x0002);
-			else if (typing == TYPED)
-				aim_im_sendmtn(od->sess, 0x0001, name, 0x0001);
-			else
-				aim_im_sendmtn(od->sess, 0x0001, name, 0x0000);
+		/* Don't send if this turkey is in our deny list */
+		GSList *list;
+		for (list=gc->account->deny; (list && aim_sncmp(name, list->data)); list=list->next);
+		if (!list) {
+			struct buddyinfo *bi = g_hash_table_lookup(od->buddyinfo, normalize(name));
+			if (bi && bi->typingnot) {
+				if (typing == TYPING)
+					aim_im_sendmtn(od->sess, 0x0001, name, 0x0002);
+				else if (typing == TYPED)
+					aim_im_sendmtn(od->sess, 0x0001, name, 0x0001);
+				else
+					aim_im_sendmtn(od->sess, 0x0001, name, 0x0000);
+			}
 		}
 	}
 	return 0;