changeset 30972:4d8569be274c

merge of '392709af0c706d582bbd6a2b1f0d9423457e6351' and 'b1c7aabc888f764a6ed12bd30699c654534ea253'
author Marcus Lundblad <ml@update.uu.se>
date Mon, 06 Sep 2010 19:41:27 +0000
parents d69ddbc0772f (diff) f48c44a9aed5 (current diff)
children 812c1cc9661c 8eb46a838ce0
files
diffstat 5 files changed, 37 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog.API	Mon Sep 06 19:36:31 2010 +0000
+++ b/ChangeLog.API	Mon Sep 06 19:41:27 2010 +0000
@@ -1,6 +1,14 @@
 Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul
 
 version 2.7.4 (MM/DD/YYYY):
+	Perl:
+		Added:
+		* Purple::BuddyList::Chat::get_components
+
+		Changed:
+		* Purple::BuddyList::Chat::new now works properly.  Thanks
+		  to Rafael in devel@conference.pidgin.im for reporting and
+		  testing.
 
 version 2.7.3 (08/10/2010):
 	libpurple:
--- a/libpurple/plugins/perl/common/BuddyList.xs	Mon Sep 06 19:36:31 2010 +0000
+++ b/libpurple/plugins/perl/common/BuddyList.xs	Mon Sep 06 19:41:27 2010 +0000
@@ -2,6 +2,13 @@
 #include "module.h"
 #include "../perl-handlers.h"
 
+static void
+chat_components_foreach(gpointer key, gpointer value, gpointer user_data)
+{
+	HV *hv = user_data;
+	hv_store(hv, key, strlen(key), newSVpv(value, 0), 0);
+}
+
 MODULE = Purple::BuddyList  PACKAGE = Purple  PREFIX = purple_
 PROTOTYPES: ENABLE
 
@@ -331,6 +338,19 @@
 purple_chat_get_name(chat)
 	Purple::BuddyList::Chat chat
 
+HV *
+purple_chat_get_components(chat)
+	Purple::BuddyList::Chat chat
+INIT:
+	HV * t_HV;
+	GHashTable * t_GHash;
+CODE:
+	t_GHash = purple_chat_get_components(chat);
+	RETVAL = t_HV = newHV();
+	g_hash_table_foreach(t_GHash, chat_components_foreach, t_HV);
+OUTPUT:
+	RETVAL
+
 Purple::BuddyList::Chat
 purple_chat_new(account, alias, components)
 	Purple::Account account
@@ -345,14 +365,14 @@
 	char *t_key, *t_value;
 CODE:
 	t_HV =  (HV *)SvRV(components);
-	t_GHash = g_hash_table_new(g_str_hash, g_str_equal);
+	t_GHash = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
 
 	for (t_HE = hv_iternext(t_HV); t_HE != NULL; t_HE = hv_iternext(t_HV) ) {
 		t_key = hv_iterkey(t_HE, &len);
 		t_SV = *hv_fetch(t_HV, t_key, len, 0);
 		t_value = SvPVutf8_nolen(t_SV);
 
-		g_hash_table_insert(t_GHash, t_key, t_value);
+		g_hash_table_insert(t_GHash, g_strdup(t_key), g_strdup(t_value));
 	}
 
 	RETVAL = purple_chat_new(account, alias, t_GHash);
--- a/libpurple/plugins/perl/common/Server.xs	Mon Sep 06 19:36:31 2010 +0000
+++ b/libpurple/plugins/perl/common/Server.xs	Mon Sep 06 19:41:27 2010 +0000
@@ -144,6 +144,7 @@
 		g_hash_table_insert(t_GHash, t_key, t_value);
 	}
 	serv_join_chat(conn, t_GHash);
+	g_hash_table_destroy(t_GHash);
 
 void 
 serv_move_buddy(buddy, group1, group2)
--- a/pidgin/gtkplugin.c	Mon Sep 06 19:36:31 2010 +0000
+++ b/pidgin/gtkplugin.c	Mon Sep 06 19:41:27 2010 +0000
@@ -800,5 +800,8 @@
 	g_signal_connect (G_OBJECT (sel), "changed", G_CALLBACK (prefs_plugin_sel), NULL);
 	g_signal_connect(G_OBJECT(plugin_dialog), "response", G_CALLBACK(plugin_dialog_response_cb), sel);
 	gtk_window_set_default_size(GTK_WINDOW(plugin_dialog), 430, 530);
+
+	pidgin_auto_parent_window(GTK_WINDOW(plugin_dialog));
+
 	gtk_widget_show_all(plugin_dialog);
 }
--- a/po/de.po	Mon Sep 06 19:36:31 2010 +0000
+++ b/po/de.po	Mon Sep 06 19:41:27 2010 +0000
@@ -12,8 +12,8 @@
 "Project-Id-Version: de\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2010-09-02 19:45+0200\n"
-"PO-Revision-Date: 2010-09-02 19:45+0200\n"
-"Last-Translator: Jochen Kemnade <jochenkemnade@web.de>\n"
+"PO-Revision-Date: 2010-09-06 10:01+0200\n"
+"Last-Translator: Björn Voigt <bjoern@cs.tu-berlin.de>\n"
 "Language-Team: Deutsch <de@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -4776,7 +4776,7 @@
 msgstr "Verschlüsselung fordern"
 
 msgid "Use encryption if available"
-msgstr "Verschlüsselung benutzen wenn verfügbar"
+msgstr "Verschlüsselung benutzen, wenn verfügbar"
 
 msgid "Use old-style SSL"
 msgstr "Alte SSL-Methode verwenden"