changeset 25701:a50545e37a7a

propagate from branch 'im.pidgin.pidgin' (head 20e1cd58c08fdfc4116101503338fb89269ea0ea) to branch 'im.pidgin.cpw.malu.xmpp.attention' (head 4b47f78b26d233d1bc0b6933d22b35a2e201e5b4)
author Marcus Lundblad <ml@update.uu.se>
date Sun, 04 Jan 2009 23:49:13 +0000
parents d3f8f474e6b5 (diff) b874034d4df2 (current diff)
children 62de30e69768
files libpurple/protocols/jabber/message.c
diffstat 17 files changed, 90 insertions(+), 51 deletions(-) [+]
line wrap: on
line diff
--- a/AUTHORS	Thu Jan 01 18:15:46 2009 +0000
+++ b/AUTHORS	Sun Jan 04 23:49:13 2009 +0000
@@ -35,6 +35,7 @@
 
 Crazy Patch Writers:
 -------------------
+Paul Aurich
 Felipe 'shx' Contreras
 Marcus 'malu' Lundblad
 Dennis 'EvilDennisR' Ristuccia
--- a/COPYRIGHT	Thu Jan 01 18:15:46 2009 +0000
+++ b/COPYRIGHT	Sun Jan 04 23:49:13 2009 +0000
@@ -63,6 +63,7 @@
 Damien Carbery
 Michael Carlson
 Keegan Carruthers-Smith
+Ludovico Cavedon
 Steve Cavilia
 Julien Cegarra
 Cerulean Studios, LLC
@@ -228,6 +229,7 @@
 Steve Láposi
 Daniel Larsson
 Peter Lawler
+Vadim Lebedev
 Ho-seok Lee
 Jean-Yves Lefort
 Moses Lei
--- a/doc/pidgin.1.in	Thu Jan 01 18:15:46 2009 +0000
+++ b/doc/pidgin.1.in	Sun Jan 04 23:49:13 2009 +0000
@@ -641,6 +641,8 @@
 
 Our crazy patch writers include:
 .br
+  Paul Aurich
+.br
   Felipe 'shx' Contreras
 .br
   Marcus 'malu' Lundblad
--- a/libpurple/core.c	Thu Jan 01 18:15:46 2009 +0000
+++ b/libpurple/core.c	Sun Jan 04 23:49:13 2009 +0000
@@ -137,7 +137,7 @@
 	 * subsystem right away too.
 	 */
 	purple_plugins_init();
-	
+
 	/* Initialize all static protocols. */
 	static_proto_init();
 
@@ -213,7 +213,6 @@
 	purple_accounts_uninit();
 	purple_savedstatuses_uninit();
 	purple_status_uninit();
-	purple_prefs_uninit();
 	purple_sound_uninit();
 	purple_xfers_uninit();
 	purple_proxy_uninit();
@@ -244,6 +243,7 @@
 #ifdef _WIN32
 	wpurple_cleanup();
 #endif
+	purple_prefs_uninit();
 
 	_core = NULL;
 }
--- a/libpurple/prefs.c	Thu Jan 01 18:15:46 2009 +0000
+++ b/libpurple/prefs.c	Sun Jan 04 23:49:13 2009 +0000
@@ -693,12 +693,15 @@
 	char *name;
 	GSList *l;
 
-	if(!pref || pref == &prefs)
+	if(!pref)
 		return;
 
 	while(pref->first_child)
 		remove_pref(pref->first_child);
 
+	if(pref == &prefs)
+		return;
+
 	if(pref->parent->first_child == pref) {
 		pref->parent->first_child = pref->sibling;
 	} else {
@@ -711,7 +714,8 @@
 
 	name = pref_full_name(pref);
 
-	purple_debug_info("prefs", "removing pref %s\n", name);
+	if (prefs_loaded)
+		purple_debug_info("prefs", "removing pref %s\n", name);
 
 	g_hash_table_remove(prefs_hash, name);
 	g_free(name);
@@ -1451,5 +1455,9 @@
 		sync_prefs();
 	}
 
-	purple_prefs_disconnect_by_handle(purple_prefs_get_handle());
+	prefs_loaded = FALSE;
+	purple_prefs_destroy();
+	g_hash_table_destroy(prefs_hash);
+	prefs_hash = NULL;
+
 }
--- a/libpurple/protocols/bonjour/mdns_win32.c	Thu Jan 01 18:15:46 2009 +0000
+++ b/libpurple/protocols/bonjour/mdns_win32.c	Sun Jan 04 23:49:13 2009 +0000
@@ -167,7 +167,11 @@
 	ResolveCallbackArgs *args = (ResolveCallbackArgs*) data;
 	Win32BuddyImplData *idata = args->bb->mdns_impl_data;
 	gboolean delete_buddy = FALSE;
-	PurpleBuddy *pb;
+	PurpleBuddy *pb = NULL;
+
+	/* Make sure that the BonjourBuddy associated with this request is still around */
+	if (g_slist_find(pending_buddies, args->bb) == NULL)
+		goto cleanup;
 
 	if ((pb = purple_find_buddy(args->account, args->bb->name)))
 		if (pb->proto_data != args->bb)
@@ -209,6 +213,8 @@
 
 	}
 
+	cleanup:
+
 	/* free the hosts list*/
 	while (hosts != NULL) {
 		hosts = g_slist_remove(hosts, hosts->data);
--- a/libpurple/protocols/jabber/message.c	Thu Jan 01 18:15:46 2009 +0000
+++ b/libpurple/protocols/jabber/message.c	Sun Jan 04 23:49:13 2009 +0000
@@ -290,7 +290,7 @@
 	PurpleBuddy *buddy;
 	PurpleAccount *account;
 	PurpleConversation *c;
-	char *username, *str;
+	char *username;
 
 	/* Delayed buzz MUST NOT be accepted */
 	if(jm->delayed)
@@ -314,7 +314,6 @@
 	purple_prpl_got_attention(jm->js->gc, username, 0);
 
 	g_free(username);
-	g_free(str);
 }
 
 /* used internally by the functions below */
--- a/libpurple/protocols/oscar/oscar.c	Thu Jan 01 18:15:46 2009 +0000
+++ b/libpurple/protocols/oscar/oscar.c	Sun Jan 04 23:49:13 2009 +0000
@@ -1653,10 +1653,10 @@
 	}
 	if (in != '\n') {
 		char buf[256];
-		GHashTable *ui_info = purple_core_get_ui_info();		
-		g_snprintf(buf, sizeof(buf), _("You may be disconnected shortly.  You may want to use TOC until "
-			"this is fixed.  Check %s for updates."),
-				   ((ui_info && g_hash_table_lookup(ui_info, "website")) ? (char *)g_hash_table_lookup(ui_info, "website") : PURPLE_WEBSITE));
+		GHashTable *ui_info = purple_core_get_ui_info();
+		g_snprintf(buf, sizeof(buf), _("You may be disconnected shortly.  "
+				"If so, check %s for updates."),
+				((ui_info && g_hash_table_lookup(ui_info, "website")) ? (char *)g_hash_table_lookup(ui_info, "website") : PURPLE_WEBSITE));
 		purple_notify_warning(pos->gc, NULL,
 							_("Unable to get a valid AIM login hash."),
 							buf);
--- a/libpurple/protocols/qq/ChangeLog	Thu Jan 01 18:15:46 2009 +0000
+++ b/libpurple/protocols/qq/ChangeLog	Sun Jan 04 23:49:13 2009 +0000
@@ -1,3 +1,9 @@
+2008.12.28 - flos <lonicerae(at)gmail.com>
+	* Fixes #7908
+
+2008.12.28 - flos <lonicerae(at)gmail.com>
+	* References #7908
+
 2008.12.25 - flos <lonicerae(at)gmail.com>
 	* References #7821
 	* Updated authors
--- a/libpurple/protocols/qq/qq_network.c	Thu Jan 01 18:15:46 2009 +0000
+++ b/libpurple/protocols/qq/qq_network.c	Sun Jan 04 23:49:13 2009 +0000
@@ -174,14 +174,16 @@
  *  Please conside tcp_pending and udp_pending */
 gboolean qq_connect_later(gpointer data)
 {
-	PurpleConnection *gc = (PurpleConnection *) data;
-	qq_data *qd;
-	char *server;
+	PurpleConnection *gc;
+	char *tmp_server;
 	int port;
 	gchar **segments;
+	qq_data *qd;
 
+	gc = (PurpleConnection *) data;
 	g_return_val_if_fail(gc != NULL && gc->proto_data != NULL, FALSE);
 	qd = (qq_data *) gc->proto_data;
+	tmp_server = NULL;
 
 	if (qd->check_watcher > 0) {
 		purple_timeout_remove(qd->check_watcher);
@@ -191,9 +193,11 @@
 
 	if (qd->redirect_ip.s_addr != 0) {
 		/* redirect to new server */
-		server = g_strdup_printf("%s:%d", inet_ntoa(qd->redirect_ip), qd->redirect_port);
-		qd->servers = g_list_append(qd->servers, server);
-		qd->curr_server = server;
+		tmp_server = g_strdup_printf("%s:%d", inet_ntoa(qd->redirect_ip), qd->redirect_port);
+		qd->servers = g_list_append(qd->servers, tmp_server);
+
+		qd->curr_server = tmp_server;
+		tmp_server = NULL;
 
 		qd->redirect_ip.s_addr = 0;
 		qd->redirect_port = 0;
@@ -211,21 +215,30 @@
 	}
 
 	segments = g_strsplit_set(qd->curr_server, ":", 0);
-	server = g_strdup(segments[0]);
-	port = atoi(segments[1]);
-	if (port <= 0) {
-		purple_debug_info("QQ", "Port not define in %s\n", qd->curr_server);
+	tmp_server = g_strdup(segments[0]);
+	if (NULL != segments[1]) {
+		port = atoi(segments[1]);
+		if (port <= 0) {
+			purple_debug_info("QQ", "Port not define in %s, use default.\n", qd->curr_server);
+			port = QQ_DEFAULT_PORT;
+		}
+	} else {
+		purple_debug_info("QQ", "Error splitting server string: %s, setting port to default.\n", qd->curr_server);
 		port = QQ_DEFAULT_PORT;
 	}
+
 	g_strfreev(segments);
 
 	qd->connect_retry--;
-	if ( !connect_to_server(gc, server, port) ) {
+	if ( !connect_to_server(gc, tmp_server, port) ) {
 			purple_connection_error_reason(gc,
 				PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
 				_("Unable to connect."));
 	}
 
+	g_free(tmp_server);
+	tmp_server = NULL;
+
 	qd->check_watcher = purple_timeout_add_seconds(QQ_CONNECT_CHECK, connect_check, gc);
 	return FALSE;	/* timeout callback stops */
 }
--- a/libpurple/protocols/simple/simple.c	Thu Jan 01 18:15:46 2009 +0000
+++ b/libpurple/protocols/simple/simple.c	Sun Jan 04 23:49:13 2009 +0000
@@ -1942,8 +1942,7 @@
 	if (userserver[1] == NULL || userserver[1][0] == '\0') {
 		purple_connection_error_reason(gc,
 			PURPLE_CONNECTION_ERROR_INVALID_SETTINGS,
-			_("Unable to connect to server. Please enter the "
-			  "address of the server you wish to connect to."));
+			_("SIP connect server not specified"));
 		return;
 	}
 
--- a/libpurple/protocols/yahoo/yahoo.c	Thu Jan 01 18:15:46 2009 +0000
+++ b/libpurple/protocols/yahoo/yahoo.c	Sun Jan 04 23:49:13 2009 +0000
@@ -4167,8 +4167,7 @@
 	           "Trying to join %s \n", args[0]);
 
 	comp = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
-	g_hash_table_replace(comp, g_strdup("room"),
-	g_strdup_printf("%s", g_ascii_strdown(args[0], strlen(args[0]))));
+	g_hash_table_replace(comp, g_strdup("room"), g_ascii_strdown(args[0], -1));
 	g_hash_table_replace(comp, g_strdup("type"), g_strdup("Chat"));
 
 	yahoo_c_join(gc, comp);
--- a/libpurple/proxy.c	Thu Jan 01 18:15:46 2009 +0000
+++ b/libpurple/proxy.c	Sun Jan 04 23:49:13 2009 +0000
@@ -621,7 +621,7 @@
 	if (!PURPLE_PROXY_CONNECT_DATA_IS_VALID(connect_data))
 		return;
 
-	purple_debug_info("proxy", "Connected to %s:%d.\n",
+	purple_debug_info("proxy", "Connecting to %s:%d.\n",
 					connect_data->host, connect_data->port);
 
 	/*
--- a/libpurple/win32/libc_interface.c	Thu Jan 01 18:15:46 2009 +0000
+++ b/libpurple/win32/libc_interface.c	Sun Jan 04 23:49:13 2009 +0000
@@ -31,13 +31,7 @@
 #include "config.h"
 #include "debug.h"
 #include "libc_internal.h"
-#if GLIB_CHECK_VERSION(2,6,0)
-# include <glib/gstdio.h>
-#else
-#define g_remove remove
-#define g_rename rename
-#define g_stat stat
-#endif
+#include <glib/gstdio.h>
 
 #ifdef ENABLE_NLS
 #  include <locale.h>
@@ -58,6 +52,9 @@
 #  define dngettext(Domain, Singular, Plural, Number) ((Number == 1) ? ((const char *)Singular) : ((const char *)Plural))
 #endif
 
+#ifndef S_ISDIR
+# define S_ISDIR(m) (((m)&S_IFDIR)==S_IFDIR)
+#endif
 
 static char errbuf[1024];
 
--- a/pidgin/gtkdialogs.c	Thu Jan 01 18:15:46 2009 +0000
+++ b/pidgin/gtkdialogs.c	Sun Jan 04 23:49:13 2009 +0000
@@ -100,6 +100,7 @@
 
 /* Order: Alphabetical by Last Name */
 static const struct developer patch_writers[] = {
+	{"Paul Aurich", NULL, NULL },
 	{"Marcus 'malu' Lundblad", NULL, NULL},
 	{"Dennis 'EvilDennisR' Ristuccia",	N_("Senior Contributor/QA"),	NULL},
 	{"Peter 'Fmoo' Ruibal",		NULL,	NULL},
--- a/po/de.po	Thu Jan 01 18:15:46 2009 +0000
+++ b/po/de.po	Sun Jan 04 23:49:13 2009 +0000
@@ -11,15 +11,15 @@
 msgstr ""
 "Project-Id-Version: de\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-12-18 23:08+0100\n"
-"PO-Revision-Date: 2008-12-18 20:11+0100\n"
-"Last-Translator: Bjoern Voigt <bjoern@cs.tu-berlin.de>\n"
-"Language-Team: Deutsch <de@li.org>\n"
+"POT-Creation-Date: 2009-01-04 12:29+0100\n"
+"PO-Revision-Date: 2009-01-04 12:29+0100\n"
+"Last-Translator: Jochen Kemnade <jochenkemnade@web.de>\n"
+"Language-Team: German <de@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: KBabel 1.11.4\n"
+"X-Generator: Lokalize 0.2\n"
 
 #. Translators may want to transliterate the name.
 #. It is not to be translated.
@@ -9263,6 +9263,9 @@
 msgid "SIP usernames may not contain whitespaces or @ symbols"
 msgstr "SIP-Benutzernamen dürfen keine Leerzeichen oder @-Symbole enthalten"
 
+msgid "SIP connect server not specified"
+msgstr "SIP-Verbindungsserver nicht angegeben"
+
 #. *< type
 #. *< ui_requirement
 #. *< flags
--- a/po/hu.po	Thu Jan 01 18:15:46 2009 +0000
+++ b/po/hu.po	Sun Jan 04 23:49:13 2009 +0000
@@ -1,16 +1,16 @@
 # Hungarian translation of pidgin.
-# Copyright (C) 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 # This file is distributed under the same license as the Pidgin package.
 # The Hungarian translation of Gaim was sponsored by Novell Hungary, many thanks for it!
 #
 # Zoltan Sutto <suttozoltan@chello.hu>, 2003.
-# Gabor Kelemen <kelemeng@gnome.hu>, 2005, 2006, 2007, 2008.
+# Gabor Kelemen <kelemeng@gnome.hu>, 2005, 2006, 2007, 2008, 2009.
 msgid ""
 msgstr ""
 "Project-Id-Version: pidgin 2.5\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-12-18 12:34+0100\n"
-"PO-Revision-Date: 2008-12-18 12:29+0100\n"
+"POT-Creation-Date: 2009-01-04 22:44+0100\n"
+"PO-Revision-Date: 2009-01-04 22:42+0100\n"
 "Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
 "Language-Team: Hungarian <gnome@fsf.hu>\n"
 "MIME-Version: 1.0\n"
@@ -4156,6 +4156,9 @@
 msgid "Re-initializing Stream"
 msgstr "A folyam újrainicializálása"
 
+msgid "Server doesn't support blocking"
+msgstr "A kiszolgáló nem támogatja a blokkolást"
+
 msgid "Not Authorized"
 msgstr "Nem engedélyezett"
 
@@ -4909,7 +4912,6 @@
 msgid "Passport account not yet verified"
 msgstr "Passport fiók (MSN igazolvány) még nincs ellenőrizve"
 
-#, c-format
 msgid "Passport account suspended"
 msgstr "A Passport fiók felfüggesztve"
 
@@ -6505,12 +6507,10 @@
 msgstr "_OK"
 
 #, c-format
-msgid ""
-"You may be disconnected shortly.  You may want to use TOC until this is "
-"fixed.  Check %s for updates."
-msgstr ""
-"Hamarosan megszakad a kapcsolat. A helyreállításig használja a TOC-ot. "
-"Frissítésekért keresse fel a következő címet: %s."
+msgid "You may be disconnected shortly.  If so, check %s for updates."
+msgstr ""
+"Hamarosan megszakadhat a kapcsolat. Ebbben az esetben keressen frissítéseket "
+"a következő címen: %s."
 
 msgid "Unable to get a valid AIM login hash."
 msgstr "Nem kérhető le érvényes AIM belépő hash."
@@ -9287,6 +9287,9 @@
 "A SIP felhasználónevek nem tartalmazhatnak üreshely-karaktert vagy @ "
 "szimbólumot"
 
+msgid "SIP connect server not specified"
+msgstr "A SIP kapcsolatkiszolgáló nincs megadva"
+
 #. *< type
 #. *< ui_requirement
 #. *< flags