changeset 24758:041bb386bf96

merge of '52e2a425de43a95def135fff5a6dbe87ed39acb5' and 'f02bc5ac62535f523c8db8f5ee5ae43aa10bc614'
author John Bailey <rekkanoryo@rekkanoryo.org>
date Mon, 15 Dec 2008 04:25:00 +0000
parents 508e57943440 (current diff) 6efcf61cf12b (diff)
children cf626850031f
files ChangeLog
diffstat 3 files changed, 9 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Dec 15 04:20:28 2008 +0000
+++ b/ChangeLog	Mon Dec 15 04:25:00 2008 +0000
@@ -42,6 +42,8 @@
 	  album, if possible.
 	* Messages sent from a mobile device while you were offline are now
 	  correctly received.
+	* Server transfers after you've been connected for a long time should 
+	  now be handled correctly.
 	* Many other fixes and code cleanup.
 
 	SIMPLE:
--- a/libpurple/protocols/msn/session.c	Mon Dec 15 04:20:28 2008 +0000
+++ b/libpurple/protocols/msn/session.c	Mon Dec 15 04:25:00 2008 +0000
@@ -448,6 +448,8 @@
 	PurpleConnection *gc;
 	PurpleStoredImage *img;
 
+	msn_change_status(session);
+
 	if (session->logged_in)
 		return;
 
@@ -462,8 +464,6 @@
 
 	session->logged_in = TRUE;
 
-	msn_change_status(session);
-
 	purple_connection_set_state(gc, PURPLE_CONNECTED);
 
 	/* Sync users */
--- a/libpurple/protocols/myspace/message.c	Mon Dec 15 04:20:28 2008 +0000
+++ b/libpurple/protocols/myspace/message.c	Mon Dec 15 04:25:00 2008 +0000
@@ -23,6 +23,7 @@
 #include "message.h"
 
 static void msim_msg_free_element(gpointer data, gpointer user_data);
+static MsimMessage *msim_msg_append_dynamic_name(MsimMessage *msg, gchar *name, MsimMessageType type, gpointer data);
 static void msim_msg_debug_string_element(gpointer data, gpointer user_data);
 static gchar *msim_msg_pack_using(MsimMessage *msg, GFunc gf, const gchar *sep, const gchar *begin, const gchar *end);
 static GList *msim_msg_get_node(MsimMessage *msg, const gchar *name);
@@ -357,7 +358,10 @@
 
 	/* Append cloned data. Note that the 'name' field is a static string, so it
 	 * never needs to be copied nor freed. */
-	*new = msim_msg_append(*new, elem->name, elem->type, new_data);
+	if (elem->dynamic_name)
+		*new = msim_msg_append_dynamic_name(*new, g_strdup(elem->name), elem->type, new_data);
+	else
+		*new = msim_msg_append(*new, elem->name, elem->type, new_data);
 }
 
 /** Clone an existing MsimMessage.