# HG changeset patch
# User Luke Schierer <lschiere@pidgin.im>
# Date 1192942763 0
# Node ID d8a47f12a3c4f5728f8bcc88df4476cd20711e00
# Parent  b9d27d1f2e60543effed2786751aa7f8da311b20
applied changes from c6a89223516b0abb6cbb399c2066e3b6a7b69d19
             through 63a37bce425022f4c52fab82e7169ed73f50a49e

applied changes from 63a37bce425022f4c52fab82e7169ed73f50a49e
             through 8d61a119c53ac77e595d5ec300d30482b914bdf7

applied changes from 8d61a119c53ac77e595d5ec300d30482b914bdf7
             through 300feed94260af48cd2026be3fd424eeb742fb77

applied changes from 300feed94260af48cd2026be3fd424eeb742fb77
             through 39954083d38f554f75dac0d4fe8b2f7bac3cd0c8

diff -r b9d27d1f2e60 -r d8a47f12a3c4 libpurple/dbus-server.c
--- a/libpurple/dbus-server.c	Sun Oct 21 04:56:58 2007 +0000
+++ b/libpurple/dbus-server.c	Sun Oct 21 04:59:23 2007 +0000
@@ -674,6 +674,8 @@
 		int id;
 		gint xint;
 		guint xuint;
+		gint64 xint64;
+		guint64 xuint64;
 		gboolean xboolean;
 		gpointer ptr = NULL;
 		gpointer val;
@@ -694,6 +696,14 @@
 			xuint = my_arg(guint);
 			dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT32, &xuint);
 			break;
+		case PURPLE_TYPE_INT64:
+			xint = my_arg(gint64);
+			dbus_message_iter_append_basic(iter, DBUS_TYPE_INT64, &xint);
+			break;
+		case PURPLE_TYPE_UINT64:
+			xuint = my_arg(guint64);
+			dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT64, &xuint);
+			break;
 		case PURPLE_TYPE_BOOLEAN:
 			xboolean = my_arg(gboolean);
 			dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &xboolean);
diff -r b9d27d1f2e60 -r d8a47f12a3c4 libpurple/protocols/oscar/oscar.c
--- a/libpurple/protocols/oscar/oscar.c	Sun Oct 21 04:56:58 2007 +0000
+++ b/libpurple/protocols/oscar/oscar.c	Sun Oct 21 04:59:23 2007 +0000
@@ -1263,6 +1263,7 @@
 		gc->wants_to_die = TRUE;
 		purple_connection_error(gc, buf);
 		g_free(buf);
+		return;
 	}
 
 	if (aim_snvalid_icq((purple_account_get_username(account)))) {
diff -r b9d27d1f2e60 -r d8a47f12a3c4 libpurple/protocols/oscar/util.c
--- a/libpurple/protocols/oscar/util.c	Sun Oct 21 04:56:58 2007 +0000
+++ b/libpurple/protocols/oscar/util.c	Sun Oct 21 04:59:23 2007 +0000
@@ -156,9 +156,7 @@
 		return FALSE;
 
 	for (i = 0; sn[i] != '\0'; i++) {
-		if (!isalnum(sn[i]) && (sn[i] != ' ') &&
-			(sn[i] != '.') &&
-			(sn[i] != '_') && (sn[i] != '-'))
+		if (!isalnum(sn[i]) && (sn[i] != ' '))
 			return FALSE;
 	}
 
diff -r b9d27d1f2e60 -r d8a47f12a3c4 libpurple/util.c
--- a/libpurple/util.c	Sun Oct 21 04:56:58 2007 +0000
+++ b/libpurple/util.c	Sun Oct 21 04:59:23 2007 +0000
@@ -1532,8 +1532,8 @@
 							plain = g_string_append(plain, alt->str);
 						if(!src && xhtml)
 							xhtml = g_string_append(xhtml, alt->str);
+						g_string_free(alt, TRUE);
 					}
-					g_string_free(alt, TRUE);
 					g_string_free(src, TRUE);
 					continue;
 				}