changeset 29489:b641af9dfe2a

propagate from branch 'im.pidgin.pidgin' (head 7bed935cd3432470394f51f4fe6e7f915aed9145) to branch 'im.pidgin.pidgin.next.minor' (head f6497ab7d689433e64b9e835dcaecde3de68971f)
author John Bailey <rekkanoryo@rekkanoryo.org>
date Tue, 25 Aug 2009 03:59:01 +0000
parents 36b5b0872f10 (diff) 15b1cc2e8b74 (current diff)
children 33e36de9f83a
files ChangeLog libpurple/protocols/yahoo/libymsg.c pidgin/gtkcelllayout.c pidgin/gtkcelllayout.h pidgin/gtkcellrendererprogress.c pidgin/gtkcellrendererprogress.h pidgin/gtkcellview.c pidgin/gtkcellview.h pidgin/gtkcellviewmenuitem.c pidgin/gtkcellviewmenuitem.h pidgin/gtkexpander.c pidgin/gtkexpander.h pidgin/pidgincombobox.c pidgin/pidgincombobox.h
diffstat 6 files changed, 33 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Aug 24 14:48:06 2009 +0000
+++ b/ChangeLog	Tue Aug 25 03:59:01 2009 +0000
@@ -7,6 +7,7 @@
 	* Fix --disable-avahi to actually disable it in configure, as opposed
 	  to just making the warning non-fatal.
 	* Sending custom smileys in MSN chats is now supported.
+	* Fix using GNOME proxy settings properly.
 
 	XMPP:
 	* Prompt the user before cancelling a presence subscription.
--- a/libpurple/account.c	Mon Aug 24 14:48:06 2009 +0000
+++ b/libpurple/account.c	Tue Aug 25 03:59:01 2009 +0000
@@ -1206,11 +1206,14 @@
 purple_account_disconnect(PurpleAccount *account)
 {
 	PurpleConnection *gc;
+	const char *username;
 
 	g_return_if_fail(account != NULL);
 	g_return_if_fail(!purple_account_is_disconnected(account));
 
-	purple_debug_info("account", "Disconnecting account %p\n", account);
+	username = purple_account_get_username(account);
+	purple_debug_info("account", "Disconnecting account %s (%p)\n",
+	                  username ? username : "(null)", account);
 
 	account->disconnecting = TRUE;
 
--- a/libpurple/protocols/jabber/google.c	Mon Aug 24 14:48:06 2009 +0000
+++ b/libpurple/protocols/jabber/google.c	Tue Aug 25 03:59:01 2009 +0000
@@ -296,6 +296,9 @@
 		gchar *sid, gchar *name, gboolean local,
 		GoogleSession *session)
 {
+	if (sid != NULL || name != NULL)
+		return;
+
 	if (type == PURPLE_MEDIA_INFO_HANGUP) {
 		xmlnode *sess;
 		JabberIq *iq = jabber_iq_new(session->js, JABBER_IQ_SET);
@@ -314,6 +317,8 @@
 		xmlnode_insert_child(iq->node, sess);
 
 		jabber_iq_send(iq);
+	} else if (type == PURPLE_MEDIA_INFO_ACCEPT && local == TRUE) {
+		google_session_ready(session);
 	}
 }
 
--- a/libpurple/protocols/yahoo/libymsg.c	Mon Aug 24 14:48:06 2009 +0000
+++ b/libpurple/protocols/yahoo/libymsg.c	Tue Aug 25 03:59:01 2009 +0000
@@ -4419,7 +4419,7 @@
 		else
 			yahoo_packet_hash(pkt, "ssssss", 49, "TYPING", 1, purple_connection_get_display_name(gc),
 	                  14, " ", 13, state == PURPLE_TYPING ? "1" : "0",
-	                  5, who+4, 1002, "1");
+	                  5, who, 1002, "1");
 		yahoo_packet_send_and_free(pkt, yd);
 	}
 
@@ -4768,6 +4768,7 @@
 void yahoo_add_deny(PurpleConnection *gc, const char *who) {
 	YahooData *yd = (YahooData *)gc->proto_data;
 	struct yahoo_packet *pkt;
+	gboolean msn = FALSE;
 
 	if (!yd->logged_in)
 		return;
@@ -4775,15 +4776,21 @@
 	if (!who || who[0] == '\0')
 		return;
 
+	msn = !g_ascii_strncasecmp(who, "msn/", 4);
 	pkt = yahoo_packet_new(YAHOO_SERVICE_IGNORECONTACT, YAHOO_STATUS_AVAILABLE, yd->session_id);
-	yahoo_packet_hash(pkt, "sss", 1, purple_connection_get_display_name(gc),
-	                  7, who, 13, "1");
+
+	if(msn)
+		yahoo_packet_hash(pkt, "ssss", 1, purple_connection_get_display_name(gc), 7, who+4, 241, "2", 13, "1");
+	else
+		yahoo_packet_hash(pkt, "sss", 1, purple_connection_get_display_name(gc), 7, who, 13, "1");
+
 	yahoo_packet_send_and_free(pkt, yd);
 }
 
 void yahoo_rem_deny(PurpleConnection *gc, const char *who) {
 	YahooData *yd = (YahooData *)gc->proto_data;
 	struct yahoo_packet *pkt;
+	gboolean msn = FALSE;
 
 	if (!yd->logged_in)
 		return;
@@ -4791,8 +4798,14 @@
 	if (!who || who[0] == '\0')
 		return;
 
+	msn = !g_ascii_strncasecmp(who, "msn/", 4);
 	pkt = yahoo_packet_new(YAHOO_SERVICE_IGNORECONTACT, YAHOO_STATUS_AVAILABLE, yd->session_id);
-	yahoo_packet_hash(pkt, "sss", 1, purple_connection_get_display_name(gc), 7, who, 13, "2");
+
+	if(msn)
+		yahoo_packet_hash(pkt, "ssss", 1, purple_connection_get_display_name(gc), 7, who+4, 241, "2", 13, "2");
+	else
+		yahoo_packet_hash(pkt, "sss", 1, purple_connection_get_display_name(gc), 7, who, 13, "2");
+	
 	yahoo_packet_send_and_free(pkt, yd);
 }
 
--- a/libpurple/proxy.c	Mon Aug 24 14:48:06 2009 +0000
+++ b/libpurple/proxy.c	Tue Aug 25 03:59:01 2009 +0000
@@ -245,7 +245,7 @@
 		return &info;
 	}
 
-	if (purple_strequal(tmp, "manual\n")) {
+	if (!purple_strequal(tmp, "manual\n")) {
 		/* Unknown setting.  Fallback to using our global proxy settings. */
 		g_free(tmp);
 		return purple_global_proxy_get_info();
--- a/pidgin/gtkdialogs.c	Mon Aug 24 14:48:06 2009 +0000
+++ b/pidgin/gtkdialogs.c	Tue Aug 25 03:59:01 2009 +0000
@@ -476,9 +476,11 @@
 				" <A HREF=\"http://pidgin.im/cgi-bin/mailman/listinfo/support\">"
 				"mailing list</A>, and messages sent here are"
 				" <A HREF=\"http://pidgin.im/pipermail/support/\">publicly"
-				" archived!</A>  Furthermore, we do <I><B>not</B></I> support"
-				" MXit, Facebook, Skype, or any other third-party plugins on"
-				" this list.)<BR/><BR/>"));
+				" archived!</A>  Please note that this list's primary language"
+				" is English.  Posts in other languages may not receive answers"
+				" as complete or as helpful as those in English. Additionally,"
+				" we do <U><I><B>not</B></I></U> support MXit, Facebook, Skype,"
+				" or any other third-party plugins on this list.)<BR/><BR/>"));
 	g_string_append_printf(str, _("<FONT SIZE=\"4\">IRC Channel:</FONT> "
 				"#pidgin on irc.freenode.net<BR><BR>"));
 	g_string_append_printf(str, _("<FONT SIZE=\"4\">XMPP MUC:</FONT> "