changeset 20562:9d812753d26a

merge of 'a4f32100c6845e724cd5f43849ccc46daa0fd4c5' and 'd2df131a139849c82bd7c2356c76b75646355c40'
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Wed, 19 Sep 2007 21:40:02 +0000
parents c7b2c6ae3bea (current diff) fecae28132f5 (diff)
children be996322b2c3 f34ffa69fdce
files
diffstat 4 files changed, 23 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Sep 19 21:37:12 2007 +0000
+++ b/ChangeLog	Wed Sep 19 21:40:02 2007 +0000
@@ -9,6 +9,7 @@
 	  it in an ambiguous state.  (It will be disabled.)
 	* Fixed an erroneous size display for MSN file transfers. (galt)
 	* Real usernames are now shown in the system log.
+	* Gmail notifications are better tracked
 
 	Pidgin:
 	* If you alias a buddy to an alias that is already present within
--- a/libpurple/protocols/jabber/google.c	Wed Sep 19 21:37:12 2007 +0000
+++ b/libpurple/protocols/jabber/google.c	Wed Sep 19 21:40:02 2007 +0000
@@ -39,6 +39,8 @@
 	char *subject;
 	const char *in_str;
 	char *to_name;
+	char *default_tos[1];
+
 	int i, count = 1, returned_count;
 
 	const char **tos, **froms, **urls;
@@ -55,15 +57,25 @@
 	if (in_str && *in_str)
 		count = atoi(in_str);
 
-	if (count == 0)
+	/* If Gmail doesn't tell us who the mail is to, let's use our JID */
+	to = xmlnode_get_attrib(packet, "to");
+	default_tos[0] = jabber_get_bare_jid(to);
+
+	if (count == 0) {
+		purple_notify_emails(js->gc, count, FALSE, NULL, NULL, default_tos, NULL, NULL, NULL);
+		g_free(default_tos[0]);
 		return;
+	}
 
 	message = xmlnode_get_child(child, "mail-thread-info");
+	if (!message) {
+		purple_notify_emails(js->gc, count, FALSE, NULL, NULL, default_tos, NULL, NULL, NULL);
+		g_free(default_tos[0]);
+		return;
+	}
 
 	/* Loop once to see how many messages were returned so we can allocate arrays
 	 * accordingly */
-	if (!message)
-		return;
 	for (returned_count = 0; message; returned_count++, message=xmlnode_get_next_twin(message));
 
 	froms    = g_new0(const char* , returned_count);
@@ -115,9 +127,13 @@
 	if (i>0)
 		purple_notify_emails(js->gc, count, count == i, (const char**) subjects, froms, tos,
 				urls, NULL, NULL);
+	else 
+		purple_notify_emails(js->gc, count, FALSE, NULL, NULL, default_tos, NULL, NULL, NULL);
+
 
 	g_free(to_name);
 	g_free(tos);
+	g_free(default_tos[0]);
 	g_free(froms);
 	for (; i > 0; i--)
 		g_free(subjects[i - 1]);
--- a/libpurple/protocols/myspace/myspace.c	Wed Sep 19 21:37:12 2007 +0000
+++ b/libpurple/protocols/myspace/myspace.c	Wed Sep 19 21:40:02 2007 +0000
@@ -291,9 +291,10 @@
 		/* Notify an error message also, because this is important! */
 		purple_notify_error(acct, g_strdup(_("MySpaceIM Error")), str, NULL);
 
+		gc->wants_to_die = TRUE;
 		purple_connection_error(gc, str);
-		
 		g_free(str);
+		return;
 	}
 #endif
 
--- a/pidgin/pixmaps/emotes/default/24/default.theme.in	Wed Sep 19 21:37:12 2007 +0000
+++ b/pidgin/pixmaps/emotes/default/24/default.theme.in	Wed Sep 19 21:40:02 2007 +0000
@@ -249,7 +249,7 @@
 sick.png            :-!
 kissed.png          *KISSED*
 stop.png            *STOP*
-kiss.png            :-*
+kiss.png            :-{} :-*
 kissing.png         *KISSING* 
 embarrassed.png     :-[
 devil.png           ]:->