Sophie

Sophie

distrib > * > 2008.0 > x86_64 > by-pkgid > 8f030c6fd819087af1e8e268b798094e > files > 3

pidgin-2.2.1-1mdv2008.0.src.rpm

diff -Nru pidgin-mtn.orig/libpurple/conversation.c pidgin-mtn/libpurple/conversation.c
--- pidgin-mtn.orig/libpurple/conversation.c	2007-05-17 03:52:42.000000000 +0200
+++ pidgin-mtn/libpurple/conversation.c	2007-05-17 04:16:29.000000000 +0200
@@ -2081,6 +2081,13 @@
 										PURPLE_SUBTYPE_CONVERSATION),
 						 purple_value_new(PURPLE_TYPE_UINT));
 
+	purple_signal_register(handle, "blocked-im-msg",
+						 purple_marshal_VOID__POINTER_POINTER,
+						 NULL, 2,
+						 purple_value_new(PURPLE_TYPE_SUBTYPE,
+										PURPLE_SUBTYPE_ACCOUNT),
+						 purple_value_new_outgoing(PURPLE_TYPE_STRING));
+
 	purple_signal_register(handle, "writing-chat-msg",
 						 purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER,
 						 purple_value_new(PURPLE_TYPE_BOOLEAN), 5,
diff -Nru pidgin-mtn.orig/libpurple/server.c pidgin-mtn/libpurple/server.c
--- pidgin-mtn.orig/libpurple/server.c	2007-05-17 03:52:44.000000000 +0200
+++ pidgin-mtn/libpurple/server.c	2007-05-17 04:18:35.000000000 +0200
@@ -437,8 +437,11 @@
 
 	if (PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl)->set_permit_deny == NULL) {
 		/* protocol does not support privacy, handle it ourselves */
-		if (!purple_privacy_check(account, who))
+		if (!purple_privacy_check(account, who)) {
+			purple_signal_emit(purple_conversations_get_handle(),
+					"blocked-im-msg", account, &who);
 			return;
+		}
 	}
 
 	/*
@@ -660,8 +663,11 @@
 	account = purple_connection_get_account(gc);
 	if (PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl)->set_permit_deny == NULL) {
 		/* protocol does not support privacy, handle it ourselves */
-		if (!purple_privacy_check(account, who))
+		if (!purple_privacy_check(account, who)) {
+			purple_signal_emit(purple_conversations_get_handle(),
+					"blocked-im-msg", account, &who);
 			return;
+		}
 	}
 
 	plugin_return = GPOINTER_TO_INT(purple_signal_emit_return_1(