changeset 27792:79aa23cdf393

propagate from branch 'im.pidgin.pidgin' (head 8ca6a80e2cd7fbbc59983f8ba370f7276e062db9) to branch 'im.pidgin.pidgin.yaz' (head c1bcbc9d22f01f5e767778c36db160b6e1018a2f)
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Sat, 15 Mar 2008 06:52:43 +0000
parents 4900f9b9827f (diff) ab1185e87ca5 (current diff)
children 2f691e22f0d8
files
diffstat 11 files changed, 31 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Mar 13 14:50:21 2008 +0000
+++ b/ChangeLog	Sat Mar 15 06:52:43 2008 +0000
@@ -29,6 +29,8 @@
 	* Fix compiling with Glib older than 2.6
 	* Ensure existing conversations selected from the 'Send IM' dialog are
 	  given focus
+	* Move the tooltip on the left of the buddylist if there's not enough room
+	  on the right to show it.
 
 version 2.4.0 (02/29/2008):
 	http://developer.pidgin.im/query?status=closed&milestone=2.4.0
--- a/finch/gntblist.c	Thu Mar 13 14:50:21 2008 +0000
+++ b/finch/gntblist.c	Sat Mar 15 06:52:43 2008 +0000
@@ -1742,6 +1742,8 @@
 	gnt_text_view_set_flag(GNT_TEXT_VIEW(tv), GNT_TEXT_VIEW_NO_SCROLL);
 	gnt_box_add_widget(GNT_BOX(box), tv);
 
+	if (x + w >= getmaxx(stdscr))
+		x -= w + width + 2;
 	gnt_widget_set_position(box, x, y);
 	GNT_WIDGET_UNSET_FLAGS(box, GNT_WIDGET_CAN_TAKE_FOCUS);
 	GNT_WIDGET_SET_FLAGS(box, GNT_WIDGET_TRANSIENT);
--- a/libpurple/imgstore.c	Thu Mar 13 14:50:21 2008 +0000
+++ b/libpurple/imgstore.c	Sat Mar 15 06:52:43 2008 +0000
@@ -1,5 +1,5 @@
 /**
- * @file imgstore.h IM Image Store API
+ * @file imgstore.c IM Image Store API
  * @ingroup core
  */
 
--- a/libpurple/imgstore.h	Thu Mar 13 14:50:21 2008 +0000
+++ b/libpurple/imgstore.h	Sat Mar 15 06:52:43 2008 +0000
@@ -29,6 +29,9 @@
 
 #include <glib.h>
 
+/** A reference-counted immutable wrapper around an image's data and its
+ *  filename.
+ */
 typedef struct _PurpleStoredImage PurpleStoredImage;
 
 #ifdef __cplusplus
--- a/libpurple/plugins/joinpart.c	Thu Mar 13 14:50:21 2008 +0000
+++ b/libpurple/plugins/joinpart.c	Sat Mar 15 06:52:43 2008 +0000
@@ -77,7 +77,7 @@
 {
 	PurpleConvChat *chat;
 	int threshold;
-	struct joinpart_key *key;
+	struct joinpart_key key;
 	time_t *last_said;
 
 	g_return_val_if_fail(conv != NULL, FALSE);
@@ -94,10 +94,9 @@
 		return FALSE;
 
 	/* Only show the notice if the user has spoken recently. */
-	key = g_new(struct joinpart_key, 1);
-	key->conv = conv;
-	key->user = g_strdup(name);
-	last_said = g_hash_table_lookup(users, key);
+	key.conv = conv;
+	key.user = (gchar *)name;
+	last_said = g_hash_table_lookup(users, &key);
 	if (last_said != NULL)
 	{
 		int delay = purple_prefs_get_int(DELAY_PREF);
--- a/libpurple/protocols/myspace/myspace.c	Thu Mar 13 14:50:21 2008 +0000
+++ b/libpurple/protocols/myspace/myspace.c	Sat Mar 15 06:52:43 2008 +0000
@@ -1862,7 +1862,7 @@
 				if (!purple_account_get_remember_password(session->account))
 					purple_account_set_password(session->account, NULL);
 #ifdef MSIM_MAX_PASSWORD_LENGTH
-				if (strlen(session->account->password) > MSIM_MAX_PASSWORD_LENGTH) {
+				if (session->account->password && (strlen(session->account->password) > MSIM_MAX_PASSWORD_LENGTH)) {
 					gchar *suggestion;
 
 					suggestion = g_strdup_printf(_("%s Your password is "
--- a/pidgin/gtkplugin.c	Thu Mar 13 14:50:21 2008 +0000
+++ b/pidgin/gtkplugin.c	Sat Mar 15 06:52:43 2008 +0000
@@ -81,9 +81,7 @@
 
 		config = pidgin_plugin_pref_create_frame(frame);
 
-		/* XXX According to bug #1407047 this broke saving pluging preferences, I'll look at fixing it correctly later.
-		purple_plugin_pref_frame_destroy(frame);
-		*/
+		plugin->info->prefs_info->frame = frame;
 	}
 
 	return config;
@@ -212,6 +210,12 @@
 			plugin_pref_dialogs = NULL;
 		}
 		gtk_widget_destroy(d);
+
+		if (plug->info->prefs_info && plug->info->prefs_info->frame) {
+			purple_plugin_pref_frame_destroy(plug->info->prefs_info->frame);
+			plug->info->prefs_info->frame = NULL;
+		}
+
 		break;
 	}
 }
--- a/pidgin/plugins/cap/cap.c	Thu Mar 13 14:50:21 2008 +0000
+++ b/pidgin/plugins/cap/cap.c	Sat Mar 15 06:52:43 2008 +0000
@@ -113,11 +113,8 @@
 
 	stats = g_hash_table_lookup(_buddy_stats, buddy->name);
 	if(!stats) {
-		stats = g_malloc(sizeof(CapStatistics));
+		stats = g_malloc0(sizeof(CapStatistics));
 		stats->last_message = -1;
-		stats->last_message_status_id = NULL;
-		stats->last_status_id = NULL;
-		stats->prediction = NULL;
 		stats->buddy = buddy;
 		stats->last_seen = -1;
 		stats->last_status_id = "";
--- a/pidgin/plugins/gevolution/add_buddy_dialog.c	Thu Mar 13 14:50:21 2008 +0000
+++ b/pidgin/plugins/gevolution/add_buddy_dialog.c	Sat Mar 15 06:52:43 2008 +0000
@@ -313,9 +313,11 @@
 		else
 		{
 			add_ims(dialog, contact, name, aims,    "prpl-oscar");
+			add_ims(dialog, contact, name, aims,    "prpl-aim");
 			add_ims(dialog, contact, name, jabbers, "prpl-jabber");
 			add_ims(dialog, contact, name, yahoos,  "prpl-yahoo");
 			add_ims(dialog, contact, name, msns,    "prpl-msn");
+			add_ims(dialog, contact, name, icqs,    "prpl-icq");
 			add_ims(dialog, contact, name, icqs,    "prpl-oscar");
 			add_ims(dialog, contact, name, novells, "prpl-novell");
 		}
@@ -394,10 +396,12 @@
 		}
 		else
 		{
+			add_ims(dialog, contact, name, aims,    "prpl-aim");
 			add_ims(dialog, contact, name, aims,    "prpl-oscar");
 			add_ims(dialog, contact, name, jabbers, "prpl-jabber");
 			add_ims(dialog, contact, name, yahoos,  "prpl-yahoo");
 			add_ims(dialog, contact, name, msns,    "prpl-msn");
+			add_ims(dialog, contact, name, icqs,    "prpl-icq");
 			add_ims(dialog, contact, name, icqs,    "prpl-oscar");
 			add_ims(dialog, contact, name, novells, "prpl-novell");
 		}
--- a/pidgin/plugins/gevolution/gevolution.c	Thu Mar 13 14:50:21 2008 +0000
+++ b/pidgin/plugins/gevolution/gevolution.c	Sat Mar 15 06:52:43 2008 +0000
@@ -109,10 +109,12 @@
 
 	name = e_contact_get_const(contact, E_CONTACT_FULL_NAME);
 
+	update_ims_from_contact(contact, name, "prpl-aim",    E_CONTACT_IM_AIM);
 	update_ims_from_contact(contact, name, "prpl-oscar",  E_CONTACT_IM_AIM);
 	update_ims_from_contact(contact, name, "prpl-jabber", E_CONTACT_IM_JABBER);
 	update_ims_from_contact(contact, name, "prpl-yahoo",  E_CONTACT_IM_YAHOO);
 	update_ims_from_contact(contact, name, "prpl-msn",    E_CONTACT_IM_MSN);
+	update_ims_from_contact(contact, name, "prpl-icq",    E_CONTACT_IM_ICQ);
 	update_ims_from_contact(contact, name, "prpl-oscar",  E_CONTACT_IM_ICQ);
 	update_ims_from_contact(contact, name, "prpl-novell", E_CONTACT_IM_GROUPWISE);
 }
--- a/pidgin/plugins/gevolution/new_person_dialog.c	Thu Mar 13 14:50:21 2008 +0000
+++ b/pidgin/plugins/gevolution/new_person_dialog.c	Sat Mar 15 06:52:43 2008 +0000
@@ -148,6 +148,10 @@
 			else
 				field = E_CONTACT_IM_AIM;
 		}
+		else if (!strcmp(im_service, "prpl-aim"))
+			field = E_CONTACT_IM_AIM;
+		else if (!strcmp(im_service, "prpl-icq"))
+			field = E_CONTACT_IM_ICQ;
 		else if (!strcmp(im_service, "prpl-yahoo"))
 			field = E_CONTACT_IM_YAHOO;
 		else if (!strcmp(im_service, "prpl-jabber"))