propagate from branch 'im.pidgin.pidgin' (head 1ac5b4cdb4a9b8716aa1e045bf2633c774ceade5) vv.ticket34

Sat, 22 Mar 2008 04:56:03 +0000

author
Sadrul Habib Chowdhury <sadrul@pidgin.im>
date
Sat, 22 Mar 2008 04:56:03 +0000
branch
vv.ticket34
changeset 22679
c1d506de1758
parent 22650
3ed9cc16bf2a (current diff)
parent 22678
1ac5b4cdb4a9 (diff)
child 22680
e34bff6d7062

propagate from branch 'im.pidgin.pidgin' (head 1ac5b4cdb4a9b8716aa1e045bf2633c774ceade5)
to branch 'im.pidgin.pidgin.vv.ticket34' (head 3ed9cc16bf2a961ce20ed1528eb1d12887d69c53)

configure.ac file | annotate | diff | comparison | revisions
libpurple/protocols/jabber/libxmpp.c file | annotate | diff | comparison | revisions
libpurple/protocols/msn/msn.c file | annotate | diff | comparison | revisions
pidgin/gtkconvwin.h file | annotate | diff | comparison | revisions
pidgin/pidginstock.c file | annotate | diff | comparison | revisions
pidgin/pidginstock.h file | annotate | diff | comparison | revisions
--- a/COPYRIGHT	Sat Mar 22 04:51:58 2008 +0000
+++ b/COPYRIGHT	Sat Mar 22 04:56:03 2008 +0000
@@ -325,6 +325,7 @@
 Jason Roth
 Jean-Francois Roy
 Peter Ruibal
+Michael Ruprecht
 Sam S.
 Thanumalayan S.
 Tomasz Sałaciński <tsalacinski@gmail.com>
--- a/ChangeLog	Sat Mar 22 04:51:58 2008 +0000
+++ b/ChangeLog	Sat Mar 22 04:56:03 2008 +0000
@@ -16,6 +16,8 @@
 	* Fix a crash when starting if you have a Zephyr account
 	* Increase XMPP ping timeout to 120 seconds, to prevent poor network
 	  connections from timing out unnecessarily.
+	* Don't crash on XMPP forms with empty default values.
+	* Fix issues with CHAP authentication for SOCKS5 proxies.
 
 	Pidgin:
 	* Remove a workaround for older versions gstreamer that was causing
--- a/configure.ac	Sat Mar 22 04:51:58 2008 +0000
+++ b/configure.ac	Sat Mar 22 04:56:03 2008 +0000
@@ -166,7 +166,7 @@
 dnl Checks for header files.
 AC_HEADER_STDC
 AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS_ONCE(arpa/nameser_compat.h fcntl.h sys/time.h unistd.h locale.h signal.h stdint.h regex.h)
+AC_CHECK_HEADERS(arpa/nameser_compat.h fcntl.h sys/time.h unistd.h locale.h signal.h stdint.h regex.h)
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
@@ -1093,7 +1093,7 @@
 AC_ARG_WITH(zephyr, [AC_HELP_STRING([--with-zephyr=PREFIX], [compile Zephyr plugin against external libzephyr])], zephyr="$withval", zephyr="no")
 AM_CONDITIONAL(EXTERNAL_LIBZEPHYR, test "x$zephyr" != "xno")
 
-AC_CHECK_HEADERS_ONCE(sys/utsname.h)
+AC_CHECK_HEADERS(sys/utsname.h)
 AC_CHECK_FUNC(uname)
 
 AC_ARG_ENABLE(fortify, [AC_HELP_STRING([--disable-fortify], [compile without FORTIFY_SOURCE support])], , enable_fortify=yes)
@@ -1421,7 +1421,7 @@
 
 		oldCPPFLAGS="$CPPFLAGS"
 		CPPFLAGS="$CPPFLAGS $PERL_CFLAGS"
-		AC_CHECK_HEADERS_ONCE(EXTERN.h)
+		AC_CHECK_HEADERS(EXTERN.h)
 		AC_CHECK_HEADERS(perl.h, [], enable_perl=no,
 		[#if HAVE_EXTERN_H
 		 # include <EXTERN.h>
@@ -2143,13 +2143,13 @@
 AC_MSG_RESULT(no)
 AC_CHECK_FUNCS(gethostid lrand48)
 AC_CHECK_FUNCS(memcpy memmove random strchr strerror vprintf)
-AC_CHECK_HEADERS_ONCE(malloc.h paths.h sgtty.h stdarg.h sys/cdefs.h)
-AC_CHECK_HEADERS_ONCE(sys/file.h sys/filio.h sys/ioctl.h sys/msgbuf.h)
-AC_CHECK_HEADERS_ONCE(sys/select.h sys/uio.h sys/utsname.h sys/wait.h)
-AC_CHECK_HEADERS_ONCE(termios.h)
+AC_CHECK_HEADERS(malloc.h paths.h sgtty.h stdarg.h sys/cdefs.h)
+AC_CHECK_HEADERS(sys/file.h sys/filio.h sys/ioctl.h sys/msgbuf.h)
+AC_CHECK_HEADERS(sys/select.h sys/uio.h sys/utsname.h sys/wait.h)
+AC_CHECK_HEADERS(termios.h)
 
 # sys/sysctl.h on OpenBSD 4.2 requires sys/param.h
-AC_CHECK_HEADERS_ONCE(sys/param.h)
+AC_CHECK_HEADERS(sys/param.h)
 AC_CHECK_HEADERS(sys/sysctl.h, [], [],
 	[[
 		#ifdef HAVE_PARAM_H
@@ -2157,7 +2157,7 @@
 		#endif
 	]])
 
-AC_CHECK_HEADERS_ONCE(sys/socket.h)
+AC_CHECK_HEADERS(sys/socket.h)
 AC_VAR_TIMEZONE_EXTERNALS
 
 AC_CACHE_CHECK(for tm_gmtoff in struct tm, ac_cv_struct_tm_gmtoff,
--- a/libpurple/account.c	Sat Mar 22 04:51:58 2008 +0000
+++ b/libpurple/account.c	Sat Mar 22 04:56:03 2008 +0000
@@ -751,6 +751,7 @@
 		description = g_strdup("");
 
 	current_error = g_new0(PurpleConnectionErrorInfo, 1);
+	PURPLE_DBUS_REGISTER_POINTER(current_error, PurpleConnectionErrorInfo);
 	current_error->type = type;
 	current_error->description = description;
 
@@ -1009,6 +1010,7 @@
 		purple_log_free(account->system_log);
 
 	priv = PURPLE_ACCOUNT_GET_PRIVATE(account);
+	PURPLE_DBUS_UNREGISTER_POINTER(priv->current_error);
 	g_free(priv->current_error);
 	g_free(priv);
 
@@ -2365,8 +2367,7 @@
 }
 
 static void
-set_current_error(PurpleAccount *account,
-                  PurpleConnectionErrorInfo *new_err)
+set_current_error(PurpleAccount *account, PurpleConnectionErrorInfo *new_err)
 {
 	PurpleAccountPrivate *priv;
 	PurpleConnectionErrorInfo *old_err;
@@ -2389,6 +2390,7 @@
 	if(old_err)
 		g_free(old_err->description);
 
+	PURPLE_DBUS_UNREGISTER_POINTER(old_err);
 	g_free(old_err);
 }
 
@@ -2406,6 +2408,7 @@
 	g_return_if_fail(account != NULL);
 
 	err = g_new0(PurpleConnectionErrorInfo, 1);
+	PURPLE_DBUS_REGISTER_POINTER(err, PurpleConnectionErrorInfo);
 
 	err->type = type;
 	err->description = g_strdup(description);
--- a/libpurple/nat-pmp.c	Sat Mar 22 04:51:58 2008 +0000
+++ b/libpurple/nat-pmp.c	Sat Mar 22 04:56:03 2008 +0000
@@ -182,7 +182,7 @@
 
     if (!(buf = malloc(needed)))
 	{
-		purple_debug_warning("nat-pmp", "malloc\n");
+		purple_debug_warning("nat-pmp", "Failed to malloc %i\n", needed);
 		return NULL;
     }
 
@@ -232,7 +232,7 @@
 						sin->sin_addr.s_addr = rti_sin->sin_addr.s_addr;
 						memcpy(sin, rti_info[RTAX_GATEWAY], sizeof(struct sockaddr_in));
 
-						purple_debug_info("nat-pmp", "found a default gateway\n");
+						purple_debug_info("nat-pmp", "Found a default gateway\n");
 						found = TRUE;
 						break;
 					}
@@ -455,7 +455,8 @@
 	{
 		success = (resp->opcode == (req.opcode + 128));
 		if (!success)
-			purple_debug_info("nat-pmp", "The opcode for the response from the NAT device does not match the request opcode!\n");
+			purple_debug_info("nat-pmp", "The opcode for the response from the NAT device (%i) does not match the request opcode (%i + 128 = %i)!\n",
+							  resp->opcode, req.opcode, req.opcode + 128);
 	}
 
 #ifdef PMP_DEBUG
@@ -492,7 +493,8 @@
 	success = purple_pmp_create_map(((type == PURPLE_PMP_TYPE_UDP) ? PMP_MAP_OPCODE_UDP : PMP_MAP_OPCODE_TCP),
 							privateport, 0, 0);
 	if (!success)
-		purple_debug_warning("nat-pmp", "Failed to properly destroy mapping for %d!\n", privateport);
+		purple_debug_warning("nat-pmp", "Failed to properly destroy mapping for %s port %d!\n",
+							 ((type == PURPLE_PMP_TYPE_UDP) ? "UDP" : "TCP"), privateport);
 
 	return success;
 }
--- a/libpurple/plugins/test.pl	Sat Mar 22 04:51:58 2008 +0000
+++ b/libpurple/plugins/test.pl	Sat Mar 22 04:56:03 2008 +0000
@@ -1,6 +1,4 @@
-#!/usr/bin/env perl -w
-
-use Gaim;
+use Purple;
 
 %PLUGIN_INFO = (
 	perl_api_version => 2,
@@ -8,51 +6,37 @@
 	version          => '1.0',
 	summary          => 'Provides as a test base for the perl plugin.',
 	description      => 'Provides as a test base for the perl plugin.',
-	author           => 'Christian Hammond <chipx86@gnupdate.org>',
+	author           => 'Etan Reisner <deryni\@pidgin.im>',
 	url              => 'http://pidgin.im',
 
-	load             => "plugin_load",
-	unload           => "plugin_unload"
+	load             => "plugin_load"
 );
 
-sub account_away_cb {
-	Gaim::debug_info("perl test plugin", "In account_away_cb\n");
-
-	my ($account, $state, $message, $data) = @_;
-
-	Gaim::debug_info("perl test plugin", "Account " .
-	                 $account->get_username() . " went away.\n");
-	Gaim::debug_info("perl test plugin", $data . "\n");
-}
-
 sub plugin_init {
 	return %PLUGIN_INFO;
 }
 
+sub account_status_cb {
+	my ($account, $old, $new, $data) = @_;
+
+	Purple::Debug::info("perl test plugin", "In account_status_cb\n");
+
+	Purple::Debug::info("perl test plugin", "Account " .
+	                    $account->get_username() . " changed status.\n");
+	Purple::Debug::info("perl test plugin", $data . "\n");
+}
+
 sub plugin_load {
-	Gaim::debug_info("perl test plugin", "plugin_load\n");
 	my $plugin = shift;
 
-	Gaim::debug_info("perl test plugin", "Listing accounts.\n");
-	foreach $account (Gaim::accounts()) {
-		Gaim::debug_info("perl test plugin", $account->get_username() . "\n");
+	Purple::Debug::info("perl test plugin", "plugin_load\n");
+
+	Purple::Debug::info("perl test plugin", "Listing accounts.\n");
+	foreach $account (Purple::Accounts::get_all()) {
+		Purple::Debug::info("perl test plugin", $account->get_username() . "\n");
 	}
 
-	Gaim::debug_info("perl test plugin", "Listing buddy list.\n");
-	foreach $group (Gaim::BuddyList::groups()) {
-		Gaim::debug_info("perl test plugin",
-		                 $group->get_name() . ":\n");
-
-		foreach $buddy ($group->buddies()) {
-			Gaim::debug_info("perl test plugin",
-			                 "  " . $buddy->get_name() . "\n");
-		}
-	}
-
-	Gaim::signal_connect(Gaim::Accounts::handle, "account-away",
-	                     $plugin, \&account_away_cb, "test");
+	Purple::Signal::connect(Purple::Accounts::get_handle(),
+	                        "account-status-changed", $plugin,
+	                        \&account_status_cb, "test");
 }
-
-sub plugin_unload {
-	my $plugin = shift;
-}
--- a/libpurple/protocols/jabber/Makefile.mingw	Sat Mar 22 04:51:58 2008 +0000
+++ b/libpurple/protocols/jabber/Makefile.mingw	Sat Mar 22 04:56:03 2008 +0000
@@ -83,7 +83,7 @@
 			-lpurple
 
 ifeq ($(CYRUS_SASL), 1)
-CYRUS_SASL_TOP := $(WIN32_DEV_TOP)/cyrus-sasl-2.1.22
+CYRUS_SASL_TOP := $(WIN32_DEV_TOP)/cyrus-sasl-2.1.22-daa1
 INCLUDE_PATHS += -I$(CYRUS_SASL_TOP)/include
 LIB_PATHS += -L$(CYRUS_SASL_TOP)/lib
 LIBS += -llibsasl
--- a/libpurple/protocols/jabber/auth.c	Sat Mar 22 04:51:58 2008 +0000
+++ b/libpurple/protocols/jabber/auth.c	Sat Mar 22 04:56:03 2008 +0000
@@ -490,6 +490,12 @@
 	{
 		char *mech_name = xmlnode_get_data(mechnode);
 #ifdef HAVE_CYRUS_SASL
+		/* Skip the GSSAPI mechanism unless it's enabled for this account */
+		if (mech_name && !strcmp(mech_name, "GSSAPI") &&
+			!purple_account_get_bool(js->gc->account, "auth_gssapi", TRUE)) {
+			continue;
+		}
+
 		g_string_append(js->sasl_mechs, mech_name);
 		g_string_append_c(js->sasl_mechs, ' ');
 #else
--- a/libpurple/protocols/jabber/libxmpp.c	Sat Mar 22 04:51:58 2008 +0000
+++ b/libpurple/protocols/jabber/libxmpp.c	Sat Mar 22 04:56:03 2008 +0000
@@ -224,6 +224,14 @@
 	prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
 						   option);
 
+#ifdef HAVE_CYRUS_SASL
+	option = purple_account_option_bool_new(
+											_("Use GSSAPI (Kerberos v5) for authentication"),
+											"auth_gssapi", TRUE);
+	prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
+											   option);	
+#endif
+	
 	option = purple_account_option_int_new(_("Connect port"), "port", 5222);
 	prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
 						   option);
--- a/libpurple/protocols/jabber/xdata.c	Sat Mar 22 04:51:58 2008 +0000
+++ b/libpurple/protocols/jabber/xdata.c	Sat Mar 22 04:56:03 2008 +0000
@@ -285,7 +285,10 @@
 
 			for(valuenode = xmlnode_get_child(fn, "value"); valuenode;
 					valuenode = xmlnode_get_next_twin(valuenode)) {
-				selected = g_list_prepend(selected, xmlnode_get_data(valuenode));
+				char *data = xmlnode_get_data(valuenode);
+				if (data != NULL) {
+					selected = g_list_prepend(selected, data);
+				}
 			}
 
 			for(optnode = xmlnode_get_child(fn, "option"); optnode;
--- a/libpurple/protocols/msn/command.c	Sat Mar 22 04:51:58 2008 +0000
+++ b/libpurple/protocols/msn/command.c	Sat Mar 22 04:56:03 2008 +0000
@@ -58,6 +58,7 @@
 		(!strcmp(str,"FQY")) ||
 		(!strcmp(str,"UUN")) ||
 		(!strcmp(str,"UUX")) ||
+		(!strcmp(str,"IPG")) ||
 		(is_num(str))){
 			return TRUE;
 		}
--- a/libpurple/protocols/msn/msn.c	Sat Mar 22 04:51:58 2008 +0000
+++ b/libpurple/protocols/msn/msn.c	Sat Mar 22 04:56:03 2008 +0000
@@ -236,7 +236,9 @@
 	MsnSession *session;
 	MsnCmdProc *cmdproc;
 	MsnPage *page;
-	char *payload;
+	MsnUser *user;
+	char *payload = NULL;
+	const char *mobile_number = NULL;
 	size_t payload_len;
 
 	session = gc->proto_data;
@@ -247,7 +249,19 @@
 
 	payload = msn_page_gen_payload(page, &payload_len);
 
-	trans = msn_transaction_new(cmdproc, "PGD", "%s 1 %d", who, payload_len);
+	if ((user = msn_userlist_find_user(session->userlist, who)) &&
+		(mobile_number = msn_user_get_mobile_phone(user)) &&
+		mobile_number[0] == '+') {
+		/* if msn_user_get_mobile_phone() has a + in front, it's a number
+		   that from the buddy's contact card */
+		trans = msn_transaction_new(cmdproc, "PGD", "tel:%s 1 %d",
+			mobile_number, payload_len);
+	} else {
+		/* otherwise we send to whatever phone number the buddy registered
+		   with msn */
+		trans = msn_transaction_new(cmdproc, "PGD", "%s 1 %d", who,
+			payload_len);
+	}
 
 	msn_transaction_set_payload(trans, payload, payload_len);
 	g_free(payload);
--- a/libpurple/protocols/msn/notification.c	Sat Mar 22 04:51:58 2008 +0000
+++ b/libpurple/protocols/msn/notification.c	Sat Mar 22 04:56:03 2008 +0000
@@ -461,7 +461,7 @@
 	passport = msg->remote_user;
 
 	content_type = msn_message_get_content_type(msg);
-	purple_debug_info("MSNP14","type:%d\n",content_type);
+	purple_debug_info("MSNP14", "type:%s\n", content_type);
 	if(!strcmp(content_type,"text/plain")){
 		const char *value;
 		const char *body;
@@ -1071,9 +1071,61 @@
 static void
 ipg_cmd_post(MsnCmdProc *cmdproc, MsnCommand *cmd, char *payload, size_t len)
 {
-#if 0
+	PurpleConnection *gc;
+	MsnUserList *userlist;
+	char *who = NULL, *text = NULL;
+	xmlnode *payloadNode, *from, *textNode;
+
 	purple_debug_misc("msn", "Incoming Page: {%s}\n", payload);
-#endif
+
+	userlist = cmdproc->session->userlist;
+	gc = purple_account_get_connection(cmdproc->session->account);
+
+	/* payload looks like this:
+	   <?xml version="1.0"?>
+	   <NOTIFICATION id="0" siteid="111100400" siteurl="http://mobile.msn.com/">
+	     <TO name="passport@example.com">
+	       <VIA agent="mobile"/>
+	     </TO>
+	     <FROM name="tel:+XXXXXXXXXXX"/>
+		 <MSG pri="1" id="1">
+		   <CAT Id="110110001"/>
+		   <ACTION url="2wayIM.asp"/>
+		   <SUBSCR url="2wayIM.asp"/>
+		   <BODY lcid="1033">
+		     <TEXT>Message was here</TEXT>
+		   </BODY>
+		 </MSG>
+	   </NOTIFICATION>
+	*/
+
+	if (!(payloadNode = xmlnode_from_str(payload, len)) ||
+		!(from = xmlnode_get_child(payloadNode, "FROM")) ||
+		!(textNode = xmlnode_get_child(payloadNode, "MSG/BODY/TEXT")))
+		return;
+
+	who = g_strdup(xmlnode_get_attrib(from, "name"));
+	if (!who) return;
+
+	text = xmlnode_get_data(textNode);
+
+	/* Match number to user's mobile number, FROM is a phone number if the
+	   other side page you using your phone number */
+	if(!strncmp(who, "tel:+", 5)) {
+		MsnUser *user =
+			msn_userlist_find_user_with_mobile_phone(userlist, who + 4);
+
+		if(user && user->passport) {
+			g_free(who);
+			who = g_strdup(user->passport);
+		}
+	}
+
+	serv_got_im(gc, who, text, 0, time(NULL));
+
+	g_free(text);
+	g_free(who);
+	xmlnode_free(payloadNode);
 }
 
 static void
--- a/libpurple/protocols/msn/switchboard.c	Sat Mar 22 04:51:58 2008 +0000
+++ b/libpurple/protocols/msn/switchboard.c	Sat Mar 22 04:56:03 2008 +0000
@@ -1194,9 +1194,10 @@
 
 	swboard = trans->data;
 
-	purple_debug_info("msn", "xfr_error %i for %s: trans %x, command %s, reason %i\n",
-					error, (swboard->im_user ? swboard->im_user : "(null)"), trans,
-					(trans->command ? trans->command : "(null)"), reason);
+	purple_debug_info("msn",
+		"xfr_error %i for %s: trans %p, command %s, reason %i\n",
+		error, (swboard->im_user ? swboard->im_user : "(null)"), trans,
+		(trans->command ? trans->command : "(null)"), reason);
 
 	swboard_error_helper(swboard, reason, swboard->im_user);
 }
--- a/libpurple/protocols/msn/transaction.h	Sat Mar 22 04:51:58 2008 +0000
+++ b/libpurple/protocols/msn/transaction.h	Sat Mar 22 04:56:03 2008 +0000
@@ -61,9 +61,8 @@
 							   this transaction. */
 };
 
-MsnTransaction *msn_transaction_new(MsnCmdProc *cmdproc,
-									const char *command,
-									const char *format, ...);
+MsnTransaction *msn_transaction_new(MsnCmdProc *cmdproc, const char *command,
+ 	const char *format, ...) G_GNUC_PRINTF(3, 4);
 void msn_transaction_destroy(MsnTransaction *trans);
 
 char *msn_transaction_to_string(MsnTransaction *trans);
--- a/libpurple/protocols/msn/userlist.c	Sat Mar 22 04:51:58 2008 +0000
+++ b/libpurple/protocols/msn/userlist.c	Sat Mar 22 04:56:03 2008 +0000
@@ -500,11 +500,10 @@
 {
  	GList *l;
 
-        g_return_val_if_fail(uid != NULL, NULL);
+	g_return_val_if_fail(uid != NULL, NULL);
 
-        for (l = userlist->users; l != NULL; l = l->next)
-        {
-                MsnUser *user = (MsnUser *)l->data;
+	for (l = userlist->users; l != NULL; l = l->next) {
+		MsnUser *user = (MsnUser *)l->data;
 
 		if (user->uid == NULL) {
 			continue;
@@ -518,6 +517,28 @@
 	return NULL;
 }
 
+MsnUser *
+msn_userlist_find_user_with_mobile_phone(MsnUserList *userlist, const char *number)
+{
+	GList *l;
+
+	g_return_val_if_fail(number != NULL, NULL);
+
+	for (l = userlist->users; l != NULL; l = l->next) {
+		MsnUser *user = (MsnUser *)l->data;
+
+		if (user->phone.mobile == NULL) {
+			continue;
+		}
+
+		if (!g_strcasecmp(number, user->phone.mobile)) {
+			return user;
+		}
+	}
+
+	return NULL;
+}
+
 void
 msn_userlist_add_group(MsnUserList *userlist, MsnGroup *group)
 {
--- a/libpurple/protocols/msn/userlist.h	Sat Mar 22 04:51:58 2008 +0000
+++ b/libpurple/protocols/msn/userlist.h	Sat Mar 22 04:56:03 2008 +0000
@@ -80,6 +80,7 @@
 MsnUser * msn_userlist_find_add_user(MsnUserList *userlist,
 				const char *passport, const char *userName);
 MsnUser * msn_userlist_find_user_with_id(MsnUserList *userlist, const char *uid);
+MsnUser * msn_userlist_find_user_with_mobile_phone(MsnUserList *userlist, const char *number);
 
 void msn_userlist_add_group(MsnUserList *userlist, MsnGroup *group);
 void msn_userlist_remove_group(MsnUserList *userlist, MsnGroup *group);
--- a/libpurple/protocols/myspace/markup.c	Sat Mar 22 04:51:58 2008 +0000
+++ b/libpurple/protocols/myspace/markup.c	Sat Mar 22 04:56:03 2008 +0000
@@ -181,7 +181,7 @@
 {
 	guint dpi;
 
-	dpi = purple_account_get_int(session->account, "port", MSIM_DEFAULT_DPI);
+	dpi = purple_account_get_int(session->account, "dpi", MSIM_DEFAULT_DPI);
 
 	return (guint)msim_round((POINTS_PER_INCH * 1. / dpi) * height);
 
@@ -195,7 +195,7 @@
 {
 	guint dpi;
 
-	dpi = purple_account_get_int(session->account, "port", MSIM_DEFAULT_DPI);
+	dpi = purple_account_get_int(session->account, "dpi", MSIM_DEFAULT_DPI);
 
 	return (guint)msim_round((dpi * 1. / POINTS_PER_INCH) * point);
 }
--- a/libpurple/proxy.c	Sat Mar 22 04:51:58 2008 +0000
+++ b/libpurple/proxy.c	Sat Mar 22 04:56:03 2008 +0000
@@ -1356,11 +1356,17 @@
 	purple_debug(PURPLE_DEBUG_INFO, "socks5 proxy", "Got CHAP response.\n");
 
 	if (connect_data->read_buffer == NULL) {
-		connect_data->read_buf_len = 20;
+		/* A big enough butfer to read the message header (2 bytes) and at least one complete attribute and value (1 + 1 + 255). */
+		connect_data->read_buf_len = 259;
 		connect_data->read_buffer = g_malloc(connect_data->read_buf_len);
 		connect_data->read_len = 0;
 	}
 
+	if (connect_data->read_buf_len - connect_data->read_len == 0) {
+		/*If the stuff below is right, this shouldn't be possible. */
+		purple_debug_error("socks5 proxy", "This is about to suck because the read buffer is full (shouldn't happen).\n");
+	}
+
 	len = read(connect_data->fd, connect_data->read_buffer + connect_data->read_len,
 		connect_data->read_buf_len - connect_data->read_len);
 
@@ -1400,13 +1406,31 @@
 	cmdbuf++;
 
 	for (currentav = 0; currentav < navas; currentav++) {
-		if (connect_data->read_len - (cmdbuf - connect_data->read_buffer) < 2)
+
+		len = connect_data->read_len - (cmdbuf - connect_data->read_buffer);
+		/* We don't have enough data to even know how long the next attribute is,
+		 * or we don't have the full length of the next attribute. */
+		if (len < 2 || len < (cmdbuf[1] + 2)) {
+			/* Clear out the attributes that have been read - decrease the attribute count */
+			connect_data->read_buffer[1] = navas - currentav;
+			/* Move the unprocessed data into the first attribute position */
+			memmove((connect_data->read_buffer + 2), cmdbuf, len);
+			/* Decrease the read count accordingly */
+			connect_data->read_len = len + 2;
 			return;
-		if (connect_data->read_len - (cmdbuf - connect_data->read_buffer) < cmdbuf[1])
-			return;
+		}
+
 		buf = cmdbuf + 2;
+
+		if (cmdbuf[1] == 0) {
+			purple_debug_error("socks5 proxy", "Attribute %x Value length of 0; ignoring.\n", cmdbuf[0]);
+			cmdbuf = buf;
+			continue;
+		}
+
 		switch (cmdbuf[0]) {
 			case 0x00:
+				purple_debug_info("socks5 proxy", "Received STATUS of %x\n", buf[0]);
 				/* Did auth work? */
 				if (buf[0] == 0x00) {
 					purple_input_remove(connect_data->inpa);
@@ -1415,7 +1439,6 @@
 					connect_data->read_buffer = NULL;
 					/* Success */
 					s5_sendconnect(connect_data, connect_data->fd);
-					return;
 				} else {
 					/* Failure */
 					purple_debug_warning("proxy",
@@ -1423,10 +1446,10 @@
 						"failed.  Disconnecting...");
 					purple_proxy_connect_data_disconnect(connect_data,
 							_("Authentication failed"));
-					return;
 				}
-				break;
+				return;
 			case 0x03:
+				purple_debug_info("socks5 proxy", "Received CHALLENGE\n");
 				/* Server wants our credentials */
 
 				connect_data->write_buf_len = 16 + 4;
@@ -1451,8 +1474,9 @@
 					PURPLE_INPUT_WRITE, proxy_do_write, connect_data);
 
 				proxy_do_write(connect_data, connect_data->fd, PURPLE_INPUT_WRITE);
-				break;
+				return;
 			case 0x11:
+				purple_debug_info("socks5 proxy", "Received ALGORIGTHMS of %x\n", buf[0]);
 				/* Server wants to select an algorithm */
 				if (buf[0] != 0x85) {
 					/* Only currently support HMAC-MD5 */
@@ -1467,12 +1491,19 @@
 					return;
 				}
 				break;
+			default:
+				purple_debug_info("socks5 proxy", "Received unused command %x, length=%d\n", cmdbuf[0], cmdbuf[1]);
 		}
 		cmdbuf = buf + cmdbuf[1];
 	}
+
 	/* Fell through.  We ran out of CHAP events to process, but haven't
 	 * succeeded or failed authentication - there may be more to come.
 	 * If this is the case, come straight back here. */
+
+	/* We've processed all the available attributes, so get ready for a whole new message */
+ 	g_free(connect_data->read_buffer);
+	connect_data->read_buffer = NULL;
 }
 
 static void
--- a/pidgin/gtkblist.c	Sat Mar 22 04:51:58 2008 +0000
+++ b/pidgin/gtkblist.c	Sat Mar 22 04:56:03 2008 +0000
@@ -3354,24 +3354,34 @@
 
 		purple_notify_user_info_destroy(user_info);
 	} else if (PURPLE_BLIST_NODE_IS_GROUP(node)) {
+		gint count;
 		PurpleGroup *group = (PurpleGroup*)node;
 		PurpleNotifyUserInfo *user_info;
 
 		user_info = purple_notify_user_info_new();
 
-		/* Total buddies (from online accounts) in group */
-		tmp = g_strdup_printf("%d",
-		                      purple_blist_get_group_size(group, FALSE));
-		purple_notify_user_info_add_pair(user_info, _("Total Buddies"),
-		                                 tmp);
-		g_free(tmp);
-
-		/* Online buddies in group */
-		tmp = g_strdup_printf("%d",
-		                      purple_blist_get_group_online_count(group));
-		purple_notify_user_info_add_pair(user_info, _("Online Buddies"),
-		                                 tmp);
-		g_free(tmp);
+		count = purple_blist_get_group_online_count(group);
+
+		if (count != 0) {
+			/* Online buddies in group */
+			tmp = g_strdup_printf("%d", count);
+			purple_notify_user_info_add_pair(user_info,
+			                                 _("Online Buddies"),
+			                                 tmp);
+			g_free(tmp);
+		}
+		count = 0;
+
+		count = purple_blist_get_group_size(group, FALSE);
+		if (count != 0) {
+			/* Total buddies (from online accounts) in group */
+			tmp = g_strdup_printf("%d", count);
+			purple_notify_user_info_add_pair(user_info,
+			                                 _("Total Buddies"),
+			                                 tmp);
+			g_free(tmp);
+		}
+		count = 0;
 
 		tmp = purple_notify_user_info_get_text_with_newline(user_info, "\n");
 		g_string_append(str, tmp);
@@ -6356,43 +6366,25 @@
 	vbox = gtk_vbox_new(FALSE, 0);
 	gtk_container_add(GTK_CONTAINER(hbox), vbox);
 
-	label = gtk_label_new(
-		_("Please enter the screen name of the person you would like "
-		  "to add to your buddy list. You may optionally enter an alias, "
-		  "or nickname,  for the buddy. The alias will be displayed in "
-		  "place of the screen name whenever possible.\n"));
-
-	gtk_widget_set_size_request(GTK_WIDGET(label), 400, -1);
-	gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
+	g_signal_connect(G_OBJECT(data->window), "destroy",
+	                 G_CALLBACK(destroy_add_buddy_dialog_cb), data);
+
+	label = gtk_label_new(_("Add a buddy.\n"));
 	gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
 	gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
 
-	hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
-	gtk_container_add(GTK_CONTAINER(vbox), hbox);
-
-	g_signal_connect(G_OBJECT(data->window), "destroy",
-					 G_CALLBACK(destroy_add_buddy_dialog_cb), data);
-
 	table = gtk_table_new(4, 2, FALSE);
 	gtk_table_set_row_spacings(GTK_TABLE(table), 5);
 	gtk_table_set_col_spacings(GTK_TABLE(table), 5);
 	gtk_container_set_border_width(GTK_CONTAINER(table), 0);
 	gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0);
 
-	/* Set up stuff for the account box */
-	label = gtk_label_new_with_mnemonic(_("A_ccount:"));
-	gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
-	gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1);
-
 	data->account_box = pidgin_account_option_menu_new(account, FALSE,
 			G_CALLBACK(add_buddy_select_account_cb), NULL, data);
 
-	gtk_table_attach_defaults(GTK_TABLE(table), data->account_box, 1, 2, 0, 1);
-	gtk_label_set_mnemonic_widget(GTK_LABEL(label), data->account_box);
-	pidgin_set_accessible_label (data->account_box, label);
-	/* End of account box */
-
-	label = gtk_label_new_with_mnemonic(_("_Screen name:"));
+	gtk_table_attach_defaults(GTK_TABLE(table), data->account_box, 0, 2, 0, 1);
+
+	label = gtk_label_new_with_mnemonic(_("Buddy's _screen name:"));
 	gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
 	gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2);
 
@@ -6404,23 +6396,23 @@
 		gtk_entry_set_text(GTK_ENTRY(data->entry), username);
 	else
 		gtk_dialog_set_response_sensitive(GTK_DIALOG(data->window),
-										  GTK_RESPONSE_OK, FALSE);
+		                                  GTK_RESPONSE_OK, FALSE);
 
 	gtk_entry_set_activates_default (GTK_ENTRY(data->entry), TRUE);
 	gtk_label_set_mnemonic_widget(GTK_LABEL(label), data->entry);
 	pidgin_set_accessible_label (data->entry, label);
 
 	g_signal_connect(G_OBJECT(data->entry), "changed",
-					 G_CALLBACK(pidgin_set_sensitive_if_input),
-					 data->window);
-
-	label = gtk_label_new_with_mnemonic(_("A_lias:"));
+	                 G_CALLBACK(pidgin_set_sensitive_if_input),
+	                 data->window);
+
+	label = gtk_label_new_with_mnemonic(_("(Optional) A_lias:"));
 	gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
 	gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 2, 3);
 
 	data->entry_for_alias = gtk_entry_new();
 	gtk_table_attach_defaults(GTK_TABLE(table),
-							  data->entry_for_alias, 1, 2, 2, 3);
+	                          data->entry_for_alias, 1, 2, 2, 3);
 
 	if (alias != NULL)
 		gtk_entry_set_text(GTK_ENTRY(data->entry_for_alias), alias);
@@ -6432,7 +6424,7 @@
 	gtk_label_set_mnemonic_widget(GTK_LABEL(label), data->entry_for_alias);
 	pidgin_set_accessible_label (data->entry_for_alias, label);
 
-	label = gtk_label_new_with_mnemonic(_("_Group:"));
+	label = gtk_label_new_with_mnemonic(_("Add buddy to _group:"));
 	gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
 	gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 3, 4);
 
Binary file pidgin/pixmaps/protocols/16/jabber.png has changed
--- a/pidgin/pixmaps/protocols/16/scalable/jabber.svg	Sat Mar 22 04:51:58 2008 +0000
+++ b/pidgin/pixmaps/protocols/16/scalable/jabber.svg	Sat Mar 22 04:56:03 2008 +0000
@@ -9,127 +9,293 @@
    xmlns:xlink="http://www.w3.org/1999/xlink"
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="16px"
-   height="16px"
-   id="svg4239"
+   width="16"
+   height="16"
+   id="svg3302"
    sodipodi:version="0.32"
-   inkscape:version="0.44.1"
-   sodipodi:docbase="/home/hbons/GUI/Tango/Gaim Refresh/protocols/16/scalable"
-   sodipodi:docname="jabber.svg"
-   inkscape:export-filename="/home/hbons/GUI/Tango/Gaim Refresh/protocols/16/jabber.png"
+   inkscape:version="0.45.1"
+   sodipodi:docbase="/home/hbons/Desktop"
+   sodipodi:docname="xmpp16.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="/home/hbons/Desktop/xmpp16.png"
    inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
+   inkscape:export-ydpi="90"
+   version="1.0">
   <defs
-     id="defs4241">
+     id="defs3304">
     <linearGradient
-       id="linearGradient2228"
+       id="linearGradient2234"
        inkscape:collect="always">
       <stop
-         id="stop2230"
+         id="stop2236"
          offset="0"
-         style="stop-color:#f56600;stop-opacity:1;" />
+         style="stop-color:#d9541e;stop-opacity:1" />
+      <stop
+         id="stop2238"
+         offset="1"
+         style="stop-color:#717311;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2218"
+       inkscape:collect="always">
+      <stop
+         id="stop2220"
+         offset="0"
+         style="stop-color:#033e6f;stop-opacity:1" />
       <stop
-         id="stop2232"
+         id="stop2222"
          offset="1"
-         style="stop-color:#f56600;stop-opacity:0;" />
+         style="stop-color:#0f97cb;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2209"
+       inkscape:collect="always">
+      <stop
+         id="stop2211"
+         offset="0"
+         style="stop-color:#439638;stop-opacity:1" />
+      <stop
+         id="stop2213"
+         offset="1"
+         style="stop-color:#05757c;stop-opacity:0;" />
     </linearGradient>
     <linearGradient
-       gradientUnits="userSpaceOnUse"
-       y2="17.595036"
-       x2="13.090998"
-       y1="0.78084093"
-       x1="13.090998"
-       id="linearGradient4544"
-       xlink:href="#linearGradient2222"
-       inkscape:collect="always" />
-    <radialGradient
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)"
-       r="6.6449099"
-       fy="10.457643"
-       fx="10.748654"
-       cy="10.457643"
-       cx="10.748654"
-       id="radialGradient3156"
-       xlink:href="#linearGradient3150"
-       inkscape:collect="always" />
+       inkscape:collect="always"
+       id="linearGradient3417">
+      <stop
+         style="stop-color:#717311;stop-opacity:1;"
+         offset="0"
+         id="stop3419" />
+      <stop
+         style="stop-color:#717311;stop-opacity:0;"
+         offset="1"
+         id="stop3421" />
+    </linearGradient>
     <linearGradient
-       id="linearGradient3150"
-       inkscape:collect="always">
+       inkscape:collect="always"
+       id="linearGradient3409">
       <stop
-         id="stop3152"
+         style="stop-color:#9d9a0b;stop-opacity:1;"
          offset="0"
-         style="stop-color:#2e3436;stop-opacity:1;" />
+         id="stop3411" />
       <stop
-         id="stop3154"
+         style="stop-color:#9d9a0b;stop-opacity:0;"
          offset="1"
-         style="stop-color:#2e3436;stop-opacity:0;" />
+         id="stop3413" />
     </linearGradient>
     <linearGradient
-       id="linearGradient2222"
-       inkscape:collect="always">
+       inkscape:collect="always"
+       id="linearGradient3354">
       <stop
-         id="stop2224"
+         style="stop-color:#05757c;stop-opacity:1;"
          offset="0"
-         style="stop-color:#ffffff;stop-opacity:1;" />
+         id="stop3356" />
       <stop
-         id="stop2226"
+         style="stop-color:#05757c;stop-opacity:0;"
          offset="1"
-         style="stop-color:#ffffff;stop-opacity:0;" />
+         id="stop3358" />
     </linearGradient>
     <linearGradient
-       id="linearGradient2230"
-       inkscape:collect="always">
+       inkscape:collect="always"
+       id="linearGradient3344">
       <stop
-         id="stop4533"
+         style="stop-color:#2a919a;stop-opacity:1;"
          offset="0"
-         style="stop-color:#ffffff;stop-opacity:1;" />
+         id="stop3346" />
       <stop
-         id="stop2234"
+         style="stop-color:#2a919a;stop-opacity:0;"
          offset="1"
-         style="stop-color:#ffffff;stop-opacity:0;" />
+         id="stop3348" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3334">
+      <stop
+         style="stop-color:#f0a530;stop-opacity:1;"
+         offset="0"
+         id="stop3336" />
+      <stop
+         style="stop-color:#f0a530;stop-opacity:0;"
+         offset="1"
+         id="stop3338" />
     </linearGradient>
     <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient2230"
-       id="linearGradient4573"
+       xlink:href="#linearGradient3334"
+       id="linearGradient3340"
+       x1="5.0133924"
+       y1="12.455358"
+       x2="15.638392"
+       y2="30.098215"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3344"
+       id="linearGradient3350"
+       x1="20.495712"
+       y1="28.410715"
+       x2="16.392857"
+       y2="19.196428"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3354"
+       id="linearGradient3360"
+       x1="18.734463"
+       y1="21.519651"
+       x2="15.642859"
+       y2="23.876795"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3334"
+       id="linearGradient3392"
+       gradientUnits="userSpaceOnUse"
+       x1="5.0133924"
+       y1="12.455358"
+       x2="15.638392"
+       y2="30.098215" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3409"
+       id="linearGradient3415"
+       x1="25.053484"
+       y1="33.307236"
+       x2="34.703217"
+       y2="14.720429"
        gradientUnits="userSpaceOnUse"
-       x1="10.063863"
-       y1="-0.14116688"
-       x2="10.063863"
-       y2="7.1152339" />
+       gradientTransform="matrix(0.3406067,0,0,0.3395702,-1.7782608e-2,-0.3494314)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3417"
+       id="linearGradient3423"
+       x1="31.83737"
+       y1="20.841261"
+       x2="35.494415"
+       y2="22.154459"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3406067,0,0,0.3395702,-1.7782681e-2,-0.3494319)" />
+    <filter
+       inkscape:collect="always"
+       x="-0.49491513"
+       width="1.9898303"
+       y="-1.0582331"
+       height="3.1164663"
+       id="filter3871">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="5.4785069"
+         id="feGaussianBlur3873" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3354"
+       id="linearGradient3983"
+       gradientUnits="userSpaceOnUse"
+       x1="18.734463"
+       y1="21.519651"
+       x2="15.642859"
+       y2="23.876795"
+       gradientTransform="matrix(0.3406067,0,0,0.3395702,-1.7782608e-2,-0.3494314)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3334"
+       id="linearGradient3989"
+       gradientUnits="userSpaceOnUse"
+       x1="5.0133924"
+       y1="12.455358"
+       x2="15.638392"
+       y2="30.098215" />
     <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient2228"
-       id="linearGradient4575"
+       xlink:href="#linearGradient3354"
+       id="linearGradient2228"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3406067,0,0,0.3395702,-0.3457386,-0.351183)"
+       x1="18.734463"
+       y1="21.519651"
+       x2="15.642859"
+       y2="23.876795" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3417"
+       id="linearGradient2242"
        gradientUnits="userSpaceOnUse"
-       gradientTransform="scale(1.031957,0.969033)"
-       x1="2.9373798"
-       y1="13.076829"
-       x2="20.319405"
-       y2="13.076829" />
-    <radialGradient
+       gradientTransform="matrix(-0.3406067,0,0,0.3395702,16.015463,-0.3494319)"
+       x1="31.83737"
+       y1="20.841261"
+       x2="35.494415"
+       y2="22.154459" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2218"
+       id="linearGradient2244"
+       gradientUnits="userSpaceOnUse"
+       x1="5.0133924"
+       y1="12.455358"
+       x2="15.638392"
+       y2="30.098215"
+       gradientTransform="matrix(0.3406067,0,0,0.3698986,2.395e-3,-0.5863818)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2209"
+       id="linearGradient2248"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3406067,0,0,0.3698986,-0.3457389,1.3941659)"
+       x1="18.734463"
+       y1="21.519651"
+       x2="15.642859"
+       y2="23.876795" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3417"
+       id="linearGradient2250"
        gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.842757,5.698892e-16,-4.565819e-9,-0.35721,19.80716,14.19321)"
-       r="6.6449099"
-       fy="10.457643"
-       fx="10.748654"
-       cy="10.457643"
-       cx="10.748654"
-       id="radialGradient5480"
-       xlink:href="#linearGradient3150"
-       inkscape:collect="always" />
-    <radialGradient
+       gradientTransform="matrix(0.3406067,0,0,0.3698986,-1.5462741e-2,-0.5863823)"
+       x1="31.83737"
+       y1="20.841261"
+       x2="35.494415"
+       y2="22.154459" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3334"
+       id="linearGradient2252"
+       gradientUnits="userSpaceOnUse"
+       x1="5.0133924"
+       y1="12.455358"
+       x2="15.638392"
+       y2="30.098215"
+       gradientTransform="matrix(-0.3406067,0,0,0.3698986,15.999925,-0.5863818)" />
+    <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient3150"
-       id="radialGradient5491"
+       xlink:href="#linearGradient2209"
+       id="linearGradient2216"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3406067,0,0,0.3754611,0.1185465,-0.6525396)"
+       x1="18.734463"
+       y1="21.519651"
+       x2="15.642859"
+       y2="23.876795" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2209"
+       id="linearGradient2226"
        gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)"
-       cx="10.748654"
-       cy="10.457643"
-       fx="10.748654"
-       fy="10.457643"
-       r="6.6449099" />
+       gradientTransform="matrix(-0.3406067,0,0,0.3698986,13.017783,-0.6058341)"
+       x1="18.734463"
+       y1="21.519651"
+       x2="15.642859"
+       y2="23.876795" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2234"
+       id="linearGradient2231"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3406067,0,0,0.3698986,2.025084e-2,-0.6190852)"
+       x1="30.893675"
+       y1="21.130915"
+       x2="37.48666"
+       y2="23.216526" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -138,20 +304,21 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="44.395604"
-     inkscape:cx="10.948505"
-     inkscape:cy="7.7364031"
+     inkscape:zoom="28"
+     inkscape:cx="21.256159"
+     inkscape:cy="8.9295837"
      inkscape:current-layer="layer1"
      showgrid="true"
      inkscape:grid-bbox="true"
      inkscape:document-units="px"
-     inkscape:window-width="1274"
-     inkscape:window-height="972"
+     inkscape:window-width="1434"
+     inkscape:window-height="823"
      inkscape:window-x="3"
-     inkscape:window-y="23"
-     inkscape:grid-points="true" />
+     inkscape:window-y="43"
+     width="16px"
+     height="16px" />
   <metadata
-     id="metadata4244">
+     id="metadata3307">
     <rdf:RDF>
       <cc:Work
          rdf:about="">
@@ -166,26 +333,64 @@
      inkscape:label="Layer 1"
      inkscape:groupmode="layer">
     <path
-       style="fill:#c00;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 12,1 C 9.4778629,1 8.4418468,1.1716344 6.9718495,2.2497594 L 6.9718495,4.7492783 C 10.971849,0.74927826 18.750242,2.4985565 18.750241,8.4985565 C 18.750241,12.247835 13.751203,9.4966319 13.751203,18.496632 L 15.000962,18.496632 C 15.000962,10.496632 20,13.497594 20,8.4985565 C 20,2.9829807 14.494656,1 12,1 z M 7.5024063,13.497595 C 7.5024063,16.643684 12.501443,15.997113 12.501443,15.997113 L 12.501443,14.747354 C 12.501443,14.747354 8.7521657,15.358261 8.7521657,13.497595 L 7.5024063,13.497595 z "
-       id="rect2274"
-       sodipodi:nodetypes="cccsccszccccc"
-       transform="matrix(0.800154,0,0,0.800154,-3.00308,-0.800154)" />
+       style="fill:#0a6fa2;fill-opacity:1;stroke:#02396a;stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 15.5,2.5000001 L 10.454106,2.5327029 C 10.454106,4.6682012 8.4691474,12.778185 3.1541859,14.341671 C 9.641668,14.341671 15.5,7.1171759 15.5,2.5000001 z "
+       id="path2228"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:url(#linearGradient2231);stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 15.5,2.5062012 L 9.5791052,2.5000001 C 9.5791052,8.214349 8.5048611,12.745482 3.1899,14.308968 C 9.6773816,14.308968 15.5,7.123377 15.5,2.5062012 z "
+       id="path3388"
+       sodipodi:nodetypes="cccc" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.29670332;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3871)"
+       id="path3425"
+       sodipodi:cx="22.273863"
+       sodipodi:cy="36.736797"
+       sodipodi:rx="13.283506"
+       sodipodi:ry="6.2124381"
+       d="M 35.557369 36.736797 A 13.283506 6.2124381 0 1 1  8.9903564,36.736797 A 13.283506 6.2124381 0 1 1  35.557369 36.736797 z"
+       transform="matrix(0.3743374,0,0,0.1458475,-0.1571981,8.780618)" />
+    <path
+       style="fill:url(#linearGradient2252);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 14.997635,3.0728311 C 14.887455,4.1217876 13.42731,7.8391015 11.614614,10.013526 C 9.8225375,12.167186 7.1757566,13.602216 4.4938048,14.013055 C 6.5159292,13.016029 7.9668293,11.287886 8.900404,9.5049152 C 9.4616251,8.4330773 9.8347045,7.3512888 10.049952,6.3954548 C 10.244853,5.5299708 10.748164,3.6076606 10.677327,3.0472855 L 14.997635,3.0728311 z "
+       id="path3382"
+       sodipodi:nodetypes="cscsscc" />
+    <path
+       style="fill:#e96d1f;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 11.998273,3.0857646 L 9.853875,3.0746296 C 10.052724,5.704186 9.8431306,10.840842 5,13.99819 C 10.262132,13.127062 12.135446,6.14782 11.998273,3.0857646 z "
+       id="path3384"
+       sodipodi:nodetypes="cccc" />
     <path
-       style="fill:#c4a000;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 10.245437,9.0009623 C 9.8446207,9.1304698 9.4469824,9.4315911 9.2910643,9.8252597 C 8.9015914,10.630275 9.0119643,11.546096 9,12.410727 C 9,12.607151 8.9956771,12.553817 8.9956771,12.750241 C 9.3290104,12.750241 9.9121032,12.750241 10.245437,12.750241 C 10.269943,11.947821 9.9451522,11.388849 10.051385,10.591009 C 10.099544,10.33424 10.295871,9.9149161 10.617745,10.051197 C 10.909947,10.219323 10.960351,10.594232 10.995034,10.898787 C 11.020383,11.243843 10.982638,11.58962 10.999054,11.934891 C 11.279504,12.093685 11.603216,11.943822 11.901485,12.002777 C 12.142024,11.75941 11.931494,11.395495 11.996911,11.098317 C 12.00242,10.729241 12.055537,10.314276 12.34596,10.053499 C 12.657741,9.9025341 12.879524,10.27981 12.942417,10.535993 C 13.058497,10.893135 12.269117,13.199046 12,14 C 12.333333,14 12.666667,14 13,14 C 13.329773,12.966834 13.673449,11.2866 13.994715,10.250722 C 13.949129,9.6432787 13.81357,9.604151 13.288033,9.225105 C 12.778167,8.8886263 12.031835,9.0485888 11.673365,9.5319351 C 11.368765,9.6559892 11.274467,9.1769481 11.001141,9.1256287 C 10.746476,9.0155125 10.521652,8.9697111 10.245437,9.0009623 z "
-       id="rect3156"
-       sodipodi:nodetypes="ccsccccsccccsccccccc"
-       transform="matrix(0.800154,0,0,0.800154,-3.197927,-1.202156)" />
+       style="opacity:0.4;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 14.328472,3.5879657 C 13.402352,7.5116178 11.050991,9.896006 7.9932059,11.841578 C 9.4009194,9.3771388 10.613796,8.3204791 10.426187,3.617359 L 14.328472,3.5879657 z "
+       id="path3390"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:#0a6fa2;fill-opacity:1;stroke:#02396a;stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 0.50232,2.5000001 L 5.548214,2.5327029 C 5.548214,4.6682012 7.5331725,12.778185 12.848134,14.341671 C 6.3606519,14.341671 0.50232,7.1171759 0.50232,2.5000001 z "
+       id="path2230"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:url(#linearGradient2244);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 1.0046854,3.0728311 C 1.025579,4.1606915 2.5750102,7.8391015 4.3877063,10.013526 C 6.1797822,12.167186 8.8265635,13.602216 11.508516,14.013055 C 9.4863905,13.01603 8.0354905,11.287886 7.1019159,9.5049152 C 6.5406948,8.4330773 6.1676154,7.3512888 5.9523683,6.3954548 C 5.7574673,5.5299709 5.2541559,3.6076606 5.3249925,3.0472854 L 1.0046854,3.0728311 z "
+       id="path2236"
+       sodipodi:nodetypes="cscsscc" />
     <path
-       style="fill:#c00;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 3,11 C 3,13.517356 7,13 7,13 L 7,12 C 7.0000001,12 4,12.488819 4,11 L 3,11 z "
-       id="path5501"
-       transform="translate(0,1)" />
+       style="fill:#a0ce67;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 3.7118046,3.055775 L 6.0094407,3.1813771 C 5.9820727,4.0797021 5.9514165,10.838935 12,13.996284 C 5.4281278,13.125156 3.6296973,5.1178307 3.7118046,3.055775 z "
+       id="rect3326"
+       sodipodi:nodetypes="cccc" />
     <path
-       style="fill:#c00;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 3,11 C 3,13.517356 7,13 7,13 L 7,12 C 7.0000001,12 4,12.488819 4,11 L 3,11 z "
-       id="path5503"
-       transform="translate(0,3)" />
+       style="opacity:0.4;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 1.6738483,3.5879662 C 2.5999681,7.5116186 4.9513289,9.8960072 8.0091145,11.841579 C 6.6014005,9.3771399 5.3885239,8.3204801 5.5761331,3.6173594 L 1.6738483,3.5879662 z "
+       id="path2240"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:url(#linearGradient2216);stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 0.63632979,2.5000002 L 6.7242835,2.6127543 C 6.3286085,4.7177198 7.6493245,12.913003 12.964286,14.500001 C 6.4768045,14.500001 0.63632979,7.1866089 0.63632979,2.5000002 z "
+       id="path3352"
+       sodipodi:nodetypes="cccc" />
   </g>
 </svg>
Binary file pidgin/pixmaps/protocols/22/jabber.png has changed
--- a/pidgin/pixmaps/protocols/22/scalable/jabber.svg	Sat Mar 22 04:51:58 2008 +0000
+++ b/pidgin/pixmaps/protocols/22/scalable/jabber.svg	Sat Mar 22 04:56:03 2008 +0000
@@ -2,49 +2,194 @@
 <!-- Created with Inkscape (http://www.inkscape.org/) -->
 <svg
    xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:cc="http://creativecommons.org/ns#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    width="24"
    height="24"
-   id="svg2"
+   id="svg3302"
    sodipodi:version="0.32"
-   inkscape:version="0.43"
-   version="1.0"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/protocols"
-   sodipodi:docname="jabber.svg"
-   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/protocols/jabber.png"
+   inkscape:version="0.46"
+   sodipodi:docbase="/home/hbons/Desktop"
+   sodipodi:docname="xmpp22.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="/home/hbons/Desktop/xmpp22.png"
    inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
+   inkscape:export-ydpi="90"
+   version="1.0">
   <defs
-     id="defs4">
+     id="defs3304">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 24 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="48 : 24 : 1"
+       inkscape:persp3d-origin="24 : 16 : 1"
+       id="perspective48" />
+    <linearGradient
+       id="linearGradient2222"
+       inkscape:collect="always">
+      <stop
+         id="stop2224"
+         offset="0"
+         style="stop-color:#429538;stop-opacity:1" />
+      <stop
+         id="stop2226"
+         offset="1"
+         style="stop-color:#033e6f;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2214"
+       inkscape:collect="always">
+      <stop
+         id="stop2216"
+         offset="0"
+         style="stop-color:#033e6f;stop-opacity:1" />
+      <stop
+         id="stop2218"
+         offset="1"
+         style="stop-color:#14a9de;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3417">
+      <stop
+         style="stop-color:#df5219;stop-opacity:1"
+         offset="0"
+         id="stop3419" />
+      <stop
+         style="stop-color:#034072;stop-opacity:1"
+         offset="1"
+         id="stop3421" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3354">
+      <stop
+         style="stop-color:#05757c;stop-opacity:1;"
+         offset="0"
+         id="stop3356" />
+      <stop
+         style="stop-color:#05757c;stop-opacity:0;"
+         offset="1"
+         id="stop3358" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3344">
+      <stop
+         style="stop-color:#2a919a;stop-opacity:1;"
+         offset="0"
+         id="stop3346" />
+      <stop
+         style="stop-color:#2a919a;stop-opacity:0;"
+         offset="1"
+         id="stop3348" />
+    </linearGradient>
     <linearGradient
        inkscape:collect="always"
-       id="linearGradient3150">
+       id="linearGradient3334">
       <stop
-         style="stop-color:#2e3436;stop-opacity:1;"
+         style="stop-color:#034072;stop-opacity:1"
          offset="0"
-         id="stop3152" />
+         id="stop3336" />
       <stop
-         style="stop-color:#2e3436;stop-opacity:0;"
+         style="stop-color:#109cd3;stop-opacity:1"
          offset="1"
-         id="stop3154" />
+         id="stop3338" />
     </linearGradient>
-    <radialGradient
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2214"
+       id="linearGradient3340"
+       x1="5.0133924"
+       y1="12.455358"
+       x2="15.638392"
+       y2="30.098215"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3344"
+       id="linearGradient3350"
+       x1="20.495712"
+       y1="28.410715"
+       x2="16.392857"
+       y2="18.982143"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3354"
+       id="linearGradient3360"
+       x1="18.734463"
+       y1="21.519651"
+       x2="15.642859"
+       y2="23.876795"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3334"
+       id="linearGradient3392"
+       gradientUnits="userSpaceOnUse"
+       x1="5.0133924"
+       y1="12.455358"
+       x2="15.638392"
+       y2="30.098215" />
+    <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient3150"
-       id="radialGradient3156"
-       cx="10.748654"
-       cy="10.457643"
-       fx="10.748654"
-       fy="10.457643"
-       r="6.6449099"
-       gradientTransform="matrix(-0.842757,5.698892e-16,-4.565819e-9,-0.35721,19.80716,14.19321)"
-       gradientUnits="userSpaceOnUse" />
+       xlink:href="#linearGradient3417"
+       id="linearGradient3423"
+       x1="31.736355"
+       y1="20.841261"
+       x2="35.292381"
+       y2="22.255474"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.4696897,0,0,0.4693264,1.1291183,0.5593256)" />
+    <filter
+       inkscape:collect="always"
+       x="-0.49491513"
+       width="1.9898303"
+       y="-1.0582331"
+       height="3.1164663"
+       id="filter3871">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="5.4785069"
+         id="feGaussianBlur3873" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2222"
+       id="linearGradient2206"
+       gradientUnits="userSpaceOnUse"
+       x1="18.734463"
+       y1="21.519651"
+       x2="15.642859"
+       y2="23.876795"
+       gradientTransform="matrix(0.4696897,0,0,0.4693264,0.7859883,0.5593256)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3334"
+       id="linearGradient2427"
+       gradientUnits="userSpaceOnUse"
+       x1="5.0133924"
+       y1="12.455358"
+       x2="15.638392"
+       y2="30.098215"
+       gradientTransform="matrix(-0.4731084,0,0,0.4693403,23.025142,0.6736289)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2214"
+       id="linearGradient2429"
+       gradientUnits="userSpaceOnUse"
+       x1="5.0133924"
+       y1="12.455358"
+       x2="15.638392"
+       y2="30.098215"
+       gradientTransform="matrix(0.4731084,0,0,0.4693403,0.7795066,0.6736289)" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -53,20 +198,29 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="20.899939"
-     inkscape:cx="7.7889959"
-     inkscape:cy="5.2722474"
-     inkscape:document-units="px"
+     inkscape:zoom="14"
+     inkscape:cx="11.10389"
+     inkscape:cy="13.373032"
      inkscape:current-layer="layer1"
      showgrid="true"
-     fill="#c4a000"
-     inkscape:window-width="872"
-     inkscape:window-height="589"
-     inkscape:window-x="12"
-     inkscape:window-y="42"
-     inkscape:grid-points="true" />
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1434"
+     inkscape:window-height="823"
+     inkscape:window-x="3"
+     inkscape:window-y="43"
+     inkscape:snap-bbox="true"
+     inkscape:snap-nodes="false"
+     objecttolerance="9"
+     gridtolerance="12">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2421"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
   <metadata
-     id="metadata7">
+     id="metadata3307">
     <rdf:RDF>
       <cc:Work
          rdf:about="">
@@ -77,28 +231,88 @@
     </rdf:RDF>
   </metadata>
   <g
+     id="layer1"
      inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1">
-    <path
-       style="fill:#cc0000;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 12,1 C 9.4778629,1 8.4699973,1.921875 7,3 L 7,5 C 11,1 19,3 19,9 C 19,14.410266 14,11 14,20 L 15,20 C 15,12 20,15 20,9 C 20,3.4844242 14.494656,1 12,1 z M 8,14.03125 C 8,17.177339 13,17 13,17 L 13,16.0625 C 13,16.0625 9.1099239,16.229722 9,14.03125 L 8,14.03125 z M 8,16.03125 C 8,19.177339 13,19 13,19 L 13,18.0625 C 13,18.0625 9.1099239,18.229722 9,16.03125 L 8,16.03125 z M 8,18.03125 C 8,21.177339 13,21 13,21 L 13,20.0625 C 13,20.0625 9.078674,20.229722 8.96875,18.03125 L 8,18.03125 z "
-       id="rect2274"
-       sodipodi:nodetypes="cccsccszccccccccccccccc" />
-    <path
-       style="fill:#c4a000;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 10.1875,9 C 9.7866842,9.1295075 9.4469824,9.4315911 9.2910643,9.8252597 C 8.9015914,10.630275 9.0119643,11.546096 9,12.410727 C 9,12.607151 9,12.803576 9,13 C 9.3333333,13 9.6666667,13 10,13 C 10.024506,12.19758 9.9451522,11.388849 10.051385,10.591009 C 10.099544,10.33424 10.295871,9.9149161 10.617745,10.051197 C 10.909947,10.219323 10.960351,10.594232 10.995034,10.898787 C 11.020383,11.243843 10.982638,11.58962 10.999054,11.934891 C 11.279504,12.093685 11.603216,11.943822 11.901485,12.002777 C 12.142024,11.75941 11.931494,11.395495 11.996911,11.098317 C 12.00242,10.729241 12.055537,10.314276 12.34596,10.053499 C 12.657741,9.9025341 12.879524,10.27981 12.942417,10.535993 C 13.058497,10.893135 12.269117,13.199046 12,14 C 12.333333,14 12.666667,14 13,14 C 13.329773,12.966834 13.673449,11.938112 13.994715,10.902234 C 13.949129,10.294791 13.81357,9.604151 13.288033,9.225105 C 12.778167,8.8886263 12.031835,9.0485888 11.673365,9.5319351 C 11.368765,9.6559892 11.274467,9.1769481 11.001141,9.1256287 C 10.746476,9.0155125 10.463715,8.9687488 10.1875,9 z "
-       id="rect3156"
-       sodipodi:nodetypes="ccsccccsccccsccccccc" />
+     inkscape:groupmode="layer">
     <path
        sodipodi:type="arc"
-       style="opacity:0.4;fill:url(#radialGradient3156);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path3140"
-       sodipodi:cx="10.748654"
-       sodipodi:cy="10.457643"
-       sodipodi:rx="6.6449099"
-       sodipodi:ry="2.3675451"
-       d="M 17.393564 10.457643 A 6.6449099 2.3675451 0 1 1  4.1037445,10.457643 A 6.6449099 2.3675451 0 1 1  17.393564 10.457643 z"
-       transform="matrix(1.504911,0,0,1.055946,-5.175766,9.457294)" />
+       style="opacity:0.29670332;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3871)"
+       id="path3425"
+       sodipodi:cx="22.273863"
+       sodipodi:cy="36.736797"
+       sodipodi:rx="13.283506"
+       sodipodi:ry="6.2124381"
+       d="M 35.557369,36.736797 A 13.283506,6.2124381 0 1 1 8.9903564,36.736797 A 13.283506,6.2124381 0 1 1 35.557369,36.736797 z"
+       transform="matrix(0.5199608,0,0,0.1850564,0.5826339,12.558808)" />
+    <path
+       style="fill:#da6812;fill-opacity:1;stroke:#a24900;stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 22.499999,4.5000001 L 14.975448,6.4912682 C 15.521075,9.1224749 12.829223,17.516252 5.5000001,19.499999 C 14.446104,19.499999 22.499999,10.35826 22.499999,4.5000001 z"
+       id="path3380"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:url(#linearGradient2427);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 22.005002,4.971026 C 21.851961,7.7335015 19.92301,11.265451 16.933871,14.123162 C 14.261115,16.678402 10.768225,18.676617 7.0429489,19.197904 C 9.8517135,17.932843 11.867038,15.740114 13.163789,13.477819 C 13.943334,12.117834 14.259517,10.820984 14.558499,9.6081884 C 14.82922,8.5100321 14.983993,6.7178749 14.8856,6.0068516 L 22.005002,4.971026 z"
+       id="path3382"
+       sodipodi:nodetypes="cscsscc" />
+    <path
+       style="fill:#abbb25;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 18.868549,5.7525618 L 15.016096,6.7750535 C 15.049889,7.9148799 14.627471,15.172893 7.1591181,19.179048 C 15.27359,18.073731 18.969928,8.3689705 18.868549,5.7525618 z"
+       id="path3384"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:url(#linearGradient3423);stroke-width:1.00000024;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 22.499999,4.5000003 L 14.317055,5.5583642 C 14.862682,8.1895711 12.829223,17.516254 5.4999998,19.500001 C 14.446104,19.500001 22.499999,10.358261 22.499999,4.5000003 z"
+       id="path3388"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:#df5219;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 19.203087,5.4052024 L 15.293888,5.9416777 C 15.327681,7.0815041 14.627471,15.172893 7.1591181,19.179048 C 15.27359,18.073731 19.304466,8.0216111 19.203087,5.4052024 z"
+       id="path3386"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:#e96d1f;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 17.202112,5.6933762 L 14.951055,6.0174391 C 14.984849,7.1572655 14.688699,15.172893 7.2203467,19.179048 C 15.706546,17.068001 18.393936,6.9484519 17.202112,5.6933762 z"
+       id="path2228"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="opacity:0.4;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 21.5,5.5000001 C 21.259562,7.8476013 19.283758,10.890908 16.721197,13.322762 C 14.636171,15.301438 12.341463,16.82458 9.4999988,17.5 C 11.488026,16.319811 12.990581,14.640432 13.991693,12.906761 C 14.701922,11.676826 14.851876,10.636782 15.125188,9.5362725 C 15.351957,8.6231762 15.486367,7.0468868 15.426863,6.3988159 L 21.5,5.5000001 z"
+       id="path3390"
+       sodipodi:nodetypes="cscsscc" />
+    <path
+       style="fill:#da6812;fill-opacity:1;stroke:#a24900;stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 1.5,4.5000001 L 9.0245518,6.4912682 C 8.4789251,9.1224749 11.170778,17.516252 18.499999,19.499999 C 9.5538954,19.499999 1.5,10.35826 1.5,4.5000001 z"
+       id="rect3321"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:url(#linearGradient2429);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 1.7996466,4.971026 C 1.9526876,7.7335015 3.8816385,11.265451 6.8707772,14.123162 C 9.5435341,16.678402 13.036424,18.676617 16.7617,19.197904 C 13.952935,17.932843 11.937611,15.740114 10.64086,13.477819 C 9.8613144,12.117834 9.3431008,10.745223 9.044119,9.532427 C 8.7733983,8.4342707 8.9721786,6.8188901 9.0705719,6.1078667 L 1.7996466,4.971026 z"
+       id="path3332"
+       sodipodi:nodetypes="cscsscc" />
+    <path
+       style="fill:#08aec5;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 4.936101,5.7525618 L 8.7885541,6.7750535 C 8.7547609,7.9148799 9.1771789,15.172893 16.645531,19.179048 C 8.5310592,18.073731 4.8347205,8.3689705 4.936101,5.7525618 z"
+       id="rect3326"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:#429538;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 4.6746077,5.4242622 L 8.9905846,5.9416777 C 8.9567914,7.0815041 9.1771789,15.172893 16.645531,19.179048 C 8.5310592,18.073731 4.4776451,8.3725446 4.6746077,5.4242622 z"
+       id="path3342"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:#a0ce67;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 6.8152887,5.6933762 L 8.9905846,6.0679467 C 8.9567914,7.2077731 9.1771789,15.172893 16.645531,19.179048 C 8.1593314,17.068001 5.6948939,7.1270234 6.8152887,5.6933762 z"
+       id="path2220"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:url(#linearGradient2206);stroke-width:1.00000024;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 1.5000001,4.5000003 L 9.5252953,5.6445861 C 8.9796685,8.275793 11.170777,17.516254 18.5,19.500001 C 9.5538955,19.500001 1.5000001,10.358261 1.5000001,4.5000003 z"
+       id="path3352"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="opacity:0.4;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 2.6528401,5.6995163 C 3.1155917,8.0886161 4.8685432,11.14436 7.4405852,13.603314 C 9.0643917,15.155725 10.886287,16.515122 12.976833,17.423211 C 11.790214,16.318736 11.187637,15.199935 10.457851,13.926759 C 9.6473369,12.512747 9.1262733,11.255179 8.8124406,9.9821414 C 8.5924509,9.0897701 8.4306975,7.2046934 8.4453019,6.4949387 L 2.6528401,5.6995163 z"
+       id="path3366"
+       sodipodi:nodetypes="cscsscc" />
   </g>
 </svg>
Binary file pidgin/pixmaps/protocols/48/jabber.png has changed
--- a/pidgin/pixmaps/protocols/48/scalable/jabber.svg	Sat Mar 22 04:51:58 2008 +0000
+++ b/pidgin/pixmaps/protocols/48/scalable/jabber.svg	Sat Mar 22 04:56:03 2008 +0000
@@ -7,44 +7,159 @@
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="48"
-   height="48"
-   id="svg2"
+   width="48px"
+   height="48px"
+   id="svg3302"
    sodipodi:version="0.32"
-   inkscape:version="0.43"
-   version="1.0"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/protocols/48"
-   sodipodi:docname="jabber.svg"
-   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/protocols/48/jabber.png"
+   inkscape:version="0.45.1"
+   sodipodi:docbase="/home/hbons/Desktop"
+   sodipodi:docname="xmpp.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="/home/hbons/Desktop/xmpp.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90">
   <defs
-     id="defs4">
+     id="defs3304">
+    <linearGradient
+       id="linearGradient2222"
+       inkscape:collect="always">
+      <stop
+         id="stop2224"
+         offset="0"
+         style="stop-color:#429538;stop-opacity:1" />
+      <stop
+         id="stop2226"
+         offset="1"
+         style="stop-color:#033e6f;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2214"
+       inkscape:collect="always">
+      <stop
+         id="stop2216"
+         offset="0"
+         style="stop-color:#033e6f;stop-opacity:1" />
+      <stop
+         id="stop2218"
+         offset="1"
+         style="stop-color:#14a9de;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3417">
+      <stop
+         style="stop-color:#df5219;stop-opacity:1"
+         offset="0"
+         id="stop3419" />
+      <stop
+         style="stop-color:#034072;stop-opacity:1"
+         offset="1"
+         id="stop3421" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3354">
+      <stop
+         style="stop-color:#05757c;stop-opacity:1;"
+         offset="0"
+         id="stop3356" />
+      <stop
+         style="stop-color:#05757c;stop-opacity:0;"
+         offset="1"
+         id="stop3358" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3344">
+      <stop
+         style="stop-color:#2a919a;stop-opacity:1;"
+         offset="0"
+         id="stop3346" />
+      <stop
+         style="stop-color:#2a919a;stop-opacity:0;"
+         offset="1"
+         id="stop3348" />
+    </linearGradient>
     <linearGradient
        inkscape:collect="always"
-       id="linearGradient3150">
+       id="linearGradient3334">
       <stop
-         style="stop-color:#2e3436;stop-opacity:1;"
+         style="stop-color:#034072;stop-opacity:1"
          offset="0"
-         id="stop3152" />
+         id="stop3336" />
       <stop
-         style="stop-color:#2e3436;stop-opacity:0;"
+         style="stop-color:#109cd3;stop-opacity:1"
          offset="1"
-         id="stop3154" />
+         id="stop3338" />
     </linearGradient>
-    <radialGradient
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2214"
+       id="linearGradient3340"
+       x1="5.0133924"
+       y1="12.455358"
+       x2="15.638392"
+       y2="30.098215"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3344"
+       id="linearGradient3350"
+       x1="20.495712"
+       y1="28.410715"
+       x2="16.392857"
+       y2="18.982143"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3354"
+       id="linearGradient3360"
+       x1="18.734463"
+       y1="21.519651"
+       x2="15.642859"
+       y2="23.876795"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient3150"
-       id="radialGradient3156"
-       cx="10.748654"
-       cy="10.457643"
-       fx="10.748654"
-       fy="10.457643"
-       r="6.6449099"
-       gradientTransform="matrix(-0.842757,5.698892e-16,-4.565819e-9,-0.35721,19.80716,14.19321)"
+       xlink:href="#linearGradient3334"
+       id="linearGradient3392"
+       gradientUnits="userSpaceOnUse"
+       x1="5.0133924"
+       y1="12.455358"
+       x2="15.638392"
+       y2="30.098215" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3417"
+       id="linearGradient3423"
+       x1="31.736355"
+       y1="20.841261"
+       x2="35.292381"
+       y2="22.255474"
        gradientUnits="userSpaceOnUse" />
+    <filter
+       inkscape:collect="always"
+       x="-0.49491513"
+       width="1.9898303"
+       y="-1.0582332"
+       height="3.1164664"
+       id="filter3871">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="5.4785069"
+         id="feGaussianBlur3873" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2222"
+       id="linearGradient2206"
+       gradientUnits="userSpaceOnUse"
+       x1="18.734463"
+       y1="21.519651"
+       x2="15.642859"
+       y2="23.876795" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -53,20 +168,19 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="12.865422"
-     inkscape:cx="36.242166"
-     inkscape:cy="27.902049"
-     inkscape:document-units="px"
+     inkscape:zoom="4.9497475"
+     inkscape:cx="81.961371"
+     inkscape:cy="4.928944"
      inkscape:current-layer="layer1"
      showgrid="true"
-     fill="#c4a000"
-     inkscape:window-width="1268"
-     inkscape:window-height="971"
-     inkscape:window-x="6"
-     inkscape:window-y="21"
-     inkscape:grid-points="true" />
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1434"
+     inkscape:window-height="823"
+     inkscape:window-x="3"
+     inkscape:window-y="43" />
   <metadata
-     id="metadata7">
+     id="metadata3307">
     <rdf:RDF>
       <cc:Work
          rdf:about="">
@@ -77,27 +191,98 @@
     </rdf:RDF>
   </metadata>
   <g
+     id="layer1"
      inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1">
-    <path
-       style="fill:#cc0000;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 24,2 C 18.807365,2 17.026465,3.6626839 14,5.8823531 L 14,10 C 22.235294,1.764706 38,5.6470591 38,18 C 38,29.138783 28,22.470588 28,41 L 30.058824,41 C 30.058824,24.529412 40.058824,30.352941 40.058824,18 C 40.058824,6.644403 29.136057,2 24,2 z M 15.941176,29 C 15.941176,35.477242 26,34.930147 26,34.930147 L 26,33 C 26,33 18.226314,33.526266 18,29 L 15.941176,29 z M 15.941176,33 C 15.941176,39.477242 26,38.930147 26,38.930147 L 26,37 C 26,37 18.226314,37.526266 18,33 L 15.941176,33 z M 16,37 C 16,43.477242 26,43 26,43 L 26,41.069852 C 26,41.069852 18.2208,41.526266 17.994485,37 L 16,37 z "
-       id="rect2274"
-       sodipodi:nodetypes="cccsccszccccccccccccccc" />
-    <path
-       style="fill:#c4a000;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 20.161617,18.294117 C 18.837158,18.716828 18.034649,20.073961 17.86652,21.396305 C 17.566704,23.001306 17.783598,24.637723 17.706109,26.256709 C 18.178406,26.74717 18.906162,26.541219 19.493602,26.451051 C 19.999799,26.141712 19.813017,25.486447 19.777576,25.001048 C 19.781293,23.595629 19.627838,22.133672 20.142378,20.789743 C 20.516821,20.193958 21.591212,20.507672 21.620848,21.198886 C 21.964949,22.079664 21.788518,23.037079 21.795609,23.954889 C 22.054465,24.600774 22.909129,24.65156 23.480241,24.453639 C 24.054934,24.149471 23.989051,23.404949 23.898556,22.861551 C 23.823793,22.06117 23.971192,21.179299 24.515205,20.556991 C 25.109753,20.187056 25.87691,20.844001 25.807138,21.482646 C 25.909476,22.709477 25.312784,23.836254 25.05905,25.007889 C 24.695237,26.209261 24.294611,27.39902 23.893234,28.588235 C 24.579509,28.58822 25.265783,28.588235 25.952058,28.588235 C 26.630987,26.461124 27.33857,24.343171 28,22.210481 C 27.941608,20.951149 27.597138,19.565831 26.543641,18.767013 C 25.499857,18.073316 23.950948,18.380143 23.22075,19.389278 C 22.481031,19.46105 22.235329,18.512304 21.551013,18.423396 C 21.100438,18.297181 20.627451,18.262239 20.161617,18.294117 z "
-       id="rect3156" />
+     inkscape:groupmode="layer">
     <path
        sodipodi:type="arc"
-       style="opacity:0.4;fill:url(#radialGradient3156);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path3140"
-       sodipodi:cx="10.748654"
-       sodipodi:cy="10.457643"
-       sodipodi:rx="6.6449099"
-       sodipodi:ry="2.3675451"
-       d="M 17.393564 10.457643 A 6.6449099 2.3675451 0 1 1  4.1037445,10.457643 A 6.6449099 2.3675451 0 1 1  17.393564 10.457643 z"
-       transform="matrix(2.633595,0,0,1.900701,-4.8076,22.62316)" />
+       style="opacity:0.2967033;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3871)"
+       id="path3425"
+       sodipodi:cx="22.273863"
+       sodipodi:cy="36.736797"
+       sodipodi:rx="13.283506"
+       sodipodi:ry="6.2124381"
+       d="M 35.557369 36.736797 A 13.283506 6.2124381 0 1 1  8.9903564,36.736797 A 13.283506 6.2124381 0 1 1  35.557369 36.736797 z"
+       transform="matrix(1.0990312,0,0,0.3942904,-0.4161261,25.323157)" />
+    <path
+       style="fill:#da6812;fill-opacity:1;stroke:#a24900;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 45.5,8.3964466 L 29.479739,12.639268 C 30.641414,18.245615 24.910285,36.130347 9.305892,40.357143 C 28.352732,40.357143 45.5,20.878719 45.5,8.3964466 z "
+       id="path3380"
+       sodipodi:nodetypes="cccc" />
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="-0.56227452"
+       inkscape:original="M 1.53125 8.40625 C 1.53125 20.888522 18.671909 40.34375 37.71875 40.34375 C 22.114357 36.116954 16.369574 18.231347 17.53125 12.625 L 1.53125 8.40625 z "
+       style="fill:url(#linearGradient3392);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       id="path3382"
+       d="M 2.15625,9.15625 C 2.4797298,15.042119 6.5569158,22.567467 12.875,28.65625 C 18.524354,34.100573 25.907207,38.35807 33.78125,39.46875 C 27.844419,36.773348 23.584667,32.10141 20.84375,27.28125 C 19.19604,24.383597 18.100702,21.459043 17.46875,18.875 C 16.896533,16.535213 16.729528,14.546192 16.9375,13.03125 L 2.15625,9.15625 z "
+       transform="matrix(-1,0,0,1,47.020178,0)" />
+    <path
+       style="fill:#abbb25;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 38.234464,10.821428 L 30.091607,13 C 30.163035,15.428571 29.270178,30.892857 13.484463,39.428571 C 30.635869,37.073525 38.448749,16.396079 38.234464,10.821428 z "
+       id="path3384"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:url(#linearGradient3423);stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 45.5,8.3964466 L 29.479739,12.639268 C 30.641414,18.245615 24.910285,36.130347 9.305892,40.357143 C 28.352732,40.357143 45.5,20.878719 45.5,8.3964466 z "
+       id="path3388"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:#df5219;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 38.941571,10.619397 L 30.091607,13 C 30.163035,15.428571 29.270178,30.892857 13.484463,39.428571 C 30.635869,37.073525 39.155856,16.194048 38.941571,10.619397 z "
+       id="path3386"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:#e96d1f;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 34.3385,11.986693 L 30.221025,13 C 30.292453,15.428571 29.399596,30.892857 13.613881,39.428571 C 31.551001,34.930668 35.951771,13.823779 34.3385,11.986693 z "
+       id="path2228"
+       sodipodi:nodetypes="cccc" />
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="-1.0305283"
+       inkscape:original="M 1.53125 8.40625 C 1.53125 20.888522 18.671909 40.34375 37.71875 40.34375 C 22.114357 36.116954 16.369574 18.231347 17.53125 12.625 L 1.53125 8.40625 z "
+       style="opacity:0.4;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       id="path3390"
+       d="M 2.78125,9.8125 C 3.3466531,15.418621 7.1614784,22.50518 13.1875,28.3125 C 18.090567,33.03762 24.31812,36.855835 31,38.46875 C 26.325029,35.650434 22.791678,31.640043 20.4375,27.5 C 18.767353,24.562889 17.642711,21.596789 17,18.96875 C 16.46674,16.788257 16.328823,14.953857 16.46875,13.40625 L 2.78125,9.8125 z "
+       transform="matrix(-1,0,0,1,47.020178,0)" />
+    <path
+       style="fill:#da6812;fill-opacity:1;stroke:#a24900;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 1.5201775,8.3964466 L 17.540439,12.639268 C 16.378764,18.245615 22.109893,36.130347 37.714286,40.357143 C 18.667446,40.357143 1.5201775,20.878719 1.5201775,8.3964466 z "
+       id="rect3321"
+       sodipodi:nodetypes="cccc" />
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="-0.56227452"
+       inkscape:original="M 1.53125 8.40625 C 1.53125 20.888522 18.671909 40.34375 37.71875 40.34375 C 22.114357 36.116954 16.369574 18.231347 17.53125 12.625 L 1.53125 8.40625 z "
+       style="fill:url(#linearGradient3340);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       id="path3332"
+       d="M 2.15625,9.15625 C 2.4797298,15.042119 6.5569158,22.567467 12.875,28.65625 C 18.524354,34.100573 25.907207,38.35807 33.78125,39.46875 C 27.844419,36.773348 23.584667,32.10141 20.84375,27.28125 C 19.19604,24.383597 18.100702,21.459043 17.46875,18.875 C 16.896533,16.535213 16.729528,14.546192 16.9375,13.03125 L 2.15625,9.15625 z " />
+    <path
+       style="fill:#08aec5;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 8.7857143,10.821428 L 16.928571,13 C 16.857143,15.428571 17.75,30.892857 33.535715,39.428571 C 16.384309,37.073525 8.5714286,16.396079 8.7857143,10.821428 z "
+       id="rect3326"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:#429538;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 8.1796228,10.821428 L 16.928571,13 C 16.857143,15.428571 17.75,30.892857 33.535715,39.428571 C 16.384309,37.073525 7.7633066,17.103186 8.1796228,10.821428 z "
+       id="path3342"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:#a0ce67;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 12.811096,11.986693 L 16.928571,13 C 16.857143,15.428571 17.75,30.892857 33.535715,39.428571 C 15.598595,34.930668 11.197825,13.823779 12.811096,11.986693 z "
+       id="path2220"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:url(#linearGradient2206);stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 1.5201775,8.3964466 L 17.540439,12.639268 C 16.378764,18.245615 22.109893,36.130347 37.714286,40.357143 C 18.667446,40.357143 1.5201775,20.878719 1.5201775,8.3964466 z "
+       id="path3352"
+       sodipodi:nodetypes="cccc" />
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="-1.0305283"
+       inkscape:original="M 1.53125 8.40625 C 1.53125 20.888522 18.671909 40.34375 37.71875 40.34375 C 22.114357 36.116954 16.369574 18.231347 17.53125 12.625 L 1.53125 8.40625 z "
+       style="opacity:0.4;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       id="path3366"
+       d="M 2.78125,9.8125 C 3.3466531,15.418621 7.1614784,22.50518 13.1875,28.3125 C 18.090567,33.03762 24.31812,36.855835 31,38.46875 C 26.325029,35.650434 22.791678,31.640043 20.4375,27.5 C 18.767353,24.562889 17.642711,21.596789 17,18.96875 C 16.46674,16.788257 16.328823,14.953857 16.46875,13.40625 L 2.78125,9.8125 z " />
   </g>
 </svg>
--- a/pidgin/win32/winpidgin.c	Sat Mar 22 04:51:58 2008 +0000
+++ b/pidgin/win32/winpidgin.c	Sat Mar 22 04:56:03 2008 +0000
@@ -498,7 +498,7 @@
 		return;
 	}
 
-	if (!(msg_win = FindWindowEx(HWND_MESSAGE, NULL, TEXT("WinpidginMsgWinCls"), NULL))) {
+	if (!(msg_win = FindWindowEx(NULL, NULL, TEXT("WinpidginMsgWinCls"), NULL))) {
 		printf("Unable to find an instance of Pidgin to handle protocol message.\n");
 		return;
 	}
--- a/po/de.po	Sat Mar 22 04:51:58 2008 +0000
+++ b/po/de.po	Sat Mar 22 04:56:03 2008 +0000
@@ -11,8 +11,8 @@
 msgstr ""
 "Project-Id-Version: de\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-03-15 09:48+0100\n"
-"PO-Revision-Date: 2008-03-15 09:48+0100\n"
+"POT-Creation-Date: 2008-03-21 21:24+0100\n"
+"PO-Revision-Date: 2008-03-21 21:23+0100\n"
 "Last-Translator: Jochen Kemnade <jochenkemnade@web.de>\n"
 "Language-Team: Deutsch <de@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -4440,6 +4440,9 @@
 msgid "Allow plaintext auth over unencrypted streams"
 msgstr "Erlaube Klartext-Authentifikation über einen unverschlüsselten Kanal"
 
+msgid "Use GSSAPI (Kerberos v5) for authentication"
+msgstr "GSSAPI (Kerberos v5) für Authentifizierung benutzen"
+
 msgid "Connect port"
 msgstr "Verbindungsport"
 
@@ -9988,9 +9991,6 @@
 "auseinandernehmen, wenn Sie auf 'Expandieren' im Kontextmenü des Kontakts "
 "klicken"
 
-msgid "_Merge"
-msgstr "_Zusammenführen"
-
 msgid "Room _List"
 msgstr "Ra_umliste"
 
@@ -10344,26 +10344,17 @@
 msgid "/Buddies/Show/Protocol Icons"
 msgstr "/Buddys/Anzeigen/Protokoll-Icons"
 
-msgid ""
-"Please enter the screen name of the person you would like to add to your "
-"buddy list. You may optionally enter an alias, or nickname,  for the buddy. "
-"The alias will be displayed in place of the screen name whenever possible.\n"
-msgstr ""
-"Bitte geben Sie den Benutzernamen der Person ein, die Sie zur Buddy-Liste "
-"hinzufügen möchten. Sie können optional einen Alias oder Spitzname für den "
-"Buddy eingeben. Der Alias wird anstelle des Benutzernamens ausgegeben,  wann "
-"immer es möglich ist.\n"
-
-#. Set up stuff for the account box
-msgid "A_ccount:"
-msgstr "_Konto:"
-
-#. End of account box
-msgid "_Screen name:"
-msgstr "_Benutzername:"
-
-msgid "A_lias:"
-msgstr "A_lias:"
+msgid "Add a buddy.\n"
+msgstr "Einen Buddy hinzufügen.\n"
+
+msgid "Buddy's _screen name:"
+msgstr "_Benutzername des Buddys:"
+
+msgid "(Optional) A_lias:"
+msgstr "(Optionaler) A_lias:"
+
+msgid "Add buddy to _group:"
+msgstr "Buddy zu folgender Gruppe hinzufügen:"
 
 msgid "This protocol does not support chat rooms."
 msgstr "Dieses Protokoll unterstützt keine Chaträume."
@@ -10380,6 +10371,9 @@
 "Bitte geben Sie einen Alias und geeignete Informationen über den Chat ein, "
 "den Sie in Ihre Buddy-Liste aufnehmen wollen.\n"
 
+msgid "A_lias:"
+msgstr "A_lias:"
+
 msgid "Auto_join when account becomes online."
 msgstr "Automatisch _beitreten, wenn das Konto online geht."
 

mercurial