Mercurial > pidgin.yaz
changeset 22428:a8e4dde401e0
merge of '6b600951723c4797bafdc840f751b75c3f0f95af'
and 'd5c0cb15bed84a2a8662c85cf02f430e9d82272d'
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Fri, 07 Mar 2008 18:52:19 +0000 |
parents | 85193a3dca5e (current diff) 7a7cb6b8fdce (diff) |
children | a7d2683c8d19 |
files | |
diffstat | 7 files changed, 52 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Thu Mar 06 17:00:51 2008 +0000 +++ b/ChangeLog Fri Mar 07 18:52:19 2008 +0000 @@ -1,6 +1,32 @@ Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul +version 2.4.1 (): + http://developer.pidgin.im/query?status=closed&milestone=2.4.1 + + libpurple: + * Treat AIM Unicode messages as UTF-16 rather than UCS-2; this + should have no functional effect, other than continued support + on systems which have dropped UCS-2 conversions. + * Add support for setting buddy icons on Gadu-Gadu (Tomasz Salacinski) + * Fix a crash when clearing the buddy icon for an account on XMPP + * Fix a crash during login for some ICQ accounts + * Prefer more available resources on XMPP when priorities are equal + * Fix incorrectly marking some Yahoo! contacts as blocked + * Improved handling of UTF-8 group names on ICQ (beret) + + Pidgin: + * Remove a workaround for older versions gstreamer that was causing + crashes on some non-Linux systems such as HPUX + * Fix some cases of the conversation input entry area being 1 pixel high + + Finch: + * Fix compiling with Glib older than 2.6 + * Ensure existing conversations selected from the 'Send IM' dialog are + given focus + version 2.4.0 (02/29/2008): + http://developer.pidgin.im/query?status=closed&milestone=2.4.0 + libpurple: * Added support for offline messages for AIM accounts (thanks to Matthew Goldstein)
--- a/finch/gntsound.c Thu Mar 06 17:00:51 2008 +0000 +++ b/finch/gntsound.c Fri Mar 07 18:52:19 2008 +0000 @@ -358,6 +358,11 @@ #ifdef USE_GSTREAMER purple_debug_info("sound", "Initializing sound output drivers.\n"); +#if (GST_VERSION_MAJOR > 0 || \ + (GST_VERSION_MAJOR == 0 && GST_VERSION_MINOR > 10) || \ + (GST_VERSION_MAJOR == 0 && GST_VERSION_MINOR == 10 && GST_VERSION_MICRO >= 10)) + gst_registry_fork_set_enabled(FALSE); +#endif if ((gst_init_failed = !gst_init_check(NULL, NULL, &error))) { purple_notify_error(NULL, _("GStreamer Failure"), _("GStreamer failed to initialize."),
--- a/finch/libgnt/gntentry.c Thu Mar 06 17:00:51 2008 +0000 +++ b/finch/libgnt/gntentry.c Fri Mar 07 18:52:19 2008 +0000 @@ -419,7 +419,7 @@ } static gboolean -history_prev(GntBindable *bind, GList *null) +history_next(GntBindable *bind, GList *null) { GntEntry *entry = GNT_ENTRY(bind); if (entry->histlength && entry->history->prev) @@ -436,7 +436,7 @@ } static gboolean -history_next(GntBindable *bind, GList *null) +history_prev(GntBindable *bind, GList *null) { GntEntry *entry = GNT_ENTRY(bind); if (entry->histlength && entry->history->next) @@ -904,10 +904,12 @@ GNT_KEY_DOWN, NULL); gnt_bindable_class_register_action(bindable, "suggest-prev", suggest_prev, GNT_KEY_UP, NULL); - gnt_bindable_class_register_action(bindable, "history-prev", history_prev, + gnt_bindable_class_register_action(bindable, "history-next", history_next, GNT_KEY_CTRL_DOWN, NULL); - gnt_bindable_class_register_action(bindable, "history-next", history_next, + gnt_bindable_class_register_action(bindable, "history-prev", history_prev, GNT_KEY_CTRL_UP, NULL); + gnt_bindable_register_binding(bindable, "history-prev", GNT_KEY_CTRL_P, NULL); + gnt_bindable_register_binding(bindable, "history-next", GNT_KEY_CTRL_N, NULL); gnt_bindable_class_register_action(bindable, "clipboard-paste", clipboard_paste, GNT_KEY_CTRL_V, NULL);
--- a/libpurple/protocols/oscar/family_locate.c Thu Mar 06 17:00:51 2008 +0000 +++ b/libpurple/protocols/oscar/family_locate.c Fri Mar 07 18:52:19 2008 +0000 @@ -1031,7 +1031,7 @@ * restricted to a few choices. I am currently aware of: * * us-ascii Just that - * unicode-2-0 UCS2-BE + * unicode-2-0 UTF-16BE * * profile_len and awaymsg_len MUST be set similarly, and they MUST * be the length of their respective strings in bytes.
--- a/libpurple/protocols/oscar/oscar.c Thu Mar 06 17:00:51 2008 +0000 +++ b/libpurple/protocols/oscar/oscar.c Fri Mar 07 18:52:19 2008 +0000 @@ -245,7 +245,7 @@ } /* - * Must we send this message as UNICODE (in the UCS-2BE encoding)? + * Must we send this message as UNICODE (in the UTF-16BE encoding)? */ while (utf8[i]) { @@ -314,14 +314,14 @@ } else if (!g_ascii_strcasecmp(encoding, "unicode-2-0")) { /* Some official ICQ clients are apparently total crack, * and have been known to save a UTF-8 string converted - * from the locale character set to UCS-2 (not from UTF-8 - * to UCS-2!) in the away message. This hack should find + * from the locale character set to UTF-16 (not from UTF-8 + * to UTF-16!) in the away message. This hack should find * and do something (un)reasonable with that, and not * mess up too much else. */ const gchar *charset = purple_account_get_string(account, "encoding", NULL); if (charset) { gsize len; - utf8 = g_convert(text, textlen, charset, "UCS-2BE", &len, NULL, NULL); + utf8 = g_convert(text, textlen, charset, "UTF-16BE", &len, NULL, NULL); if (!utf8 || len != textlen || !g_utf8_validate(utf8, -1, NULL)) { g_free(utf8); utf8 = NULL; @@ -330,7 +330,7 @@ } } if (!utf8) - utf8 = g_convert(text, textlen, "UTF-8", "UCS-2BE", NULL, NULL, NULL); + utf8 = g_convert(text, textlen, "UTF-8", "UTF-16BE", NULL, NULL, NULL); } else if (g_ascii_strcasecmp(encoding, "utf-8")) { purple_debug_warning("oscar", "Unrecognized character encoding \"%s\", " "attempting to convert to UTF-8 anyway\n", encoding); @@ -423,7 +423,7 @@ return NULL; if (charset == AIM_CHARSET_UNICODE) { - charsetstr1 = "UCS-2BE"; + charsetstr1 = "UTF-16BE"; charsetstr2 = "UTF-8"; } else if (charset == AIM_CHARSET_CUSTOM) { if ((sourcesn != NULL) && aim_snvalid_icq(sourcesn)) @@ -495,7 +495,7 @@ * If we're sending to an ICQ user, and they are in our * buddy list, and they are advertising the Unicode * capability, and they are online, then attempt to send - * as UCS-2BE. + * as UTF-16BE. */ if ((destsn != NULL) && aim_snvalid_icq(destsn)) userinfo = aim_locate_finduserinfo(od, destsn); @@ -506,7 +506,7 @@ b = purple_find_buddy(account, destsn); if ((b != NULL) && (PURPLE_BUDDY_IS_ONLINE(b))) { - *msg = g_convert(from, -1, "UCS-2BE", "UTF-8", NULL, &msglen, NULL); + *msg = g_convert(from, -1, "UTF-16BE", "UTF-8", NULL, &msglen, NULL); if (*msg != NULL) { *charset = AIM_CHARSET_UNICODE; @@ -538,9 +538,9 @@ } /* - * Nothing else worked, so send as UCS-2BE. + * Nothing else worked, so send as UTF-16BE. */ - *msg = g_convert(from, -1, "UCS-2BE", "UTF-8", NULL, &msglen, &err); + *msg = g_convert(from, -1, "UTF-16BE", "UTF-8", NULL, &msglen, &err); if (*msg != NULL) { *charset = AIM_CHARSET_UNICODE; *charsubset = 0x0000; @@ -4436,7 +4436,7 @@ charset = oscar_charset_check(str); if (charset == AIM_CHARSET_UNICODE) { - encoded = g_convert(str, -1, "UCS-2BE", "UTF-8", NULL, ret_len, NULL); + encoded = g_convert(str, -1, "UTF-16BE", "UTF-8", NULL, ret_len, NULL); *encoding = "unicode-2-0"; } else if (charset == AIM_CHARSET_CUSTOM) { encoded = g_convert(str, -1, "ISO-8859-1", "UTF-8", NULL, ret_len, NULL);
--- a/libpurple/protocols/oscar/oscar.h Thu Mar 06 17:00:51 2008 +0000 +++ b/libpurple/protocols/oscar/oscar.h Fri Mar 07 18:52:19 2008 +0000 @@ -754,7 +754,7 @@ #define AIM_IMFLAGS_TYPINGNOT 0x1000 /* typing notification */ #define AIM_CHARSET_ASCII 0x0000 -#define AIM_CHARSET_UNICODE 0x0002 /* UCS-2BE */ +#define AIM_CHARSET_UNICODE 0x0002 /* UTF-16BE */ #define AIM_CHARSET_CUSTOM 0x0003 /*
--- a/pidgin/gtkconv.c Thu Mar 06 17:00:51 2008 +0000 +++ b/pidgin/gtkconv.c Fri Mar 07 18:52:19 2008 +0000 @@ -4738,6 +4738,8 @@ g_signal_connect_swapped(G_OBJECT(gtkconv->entry_buffer), "changed", G_CALLBACK(resize_imhtml_cb), gtkconv); + g_signal_connect_swapped(G_OBJECT(gtkconv->entry), "realize", + G_CALLBACK(resize_imhtml_cb), gtkconv); default_formatize(gtkconv); g_signal_connect_after(G_OBJECT(gtkconv->entry), "format_function_clear", @@ -5014,7 +5016,6 @@ gtk_widget_show(gtkconv->toolbar); else gtk_widget_hide(gtkconv->toolbar); - g_idle_add((GSourceFunc)resize_imhtml_cb, gtkconv); if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/im/show_buddy_icons")) gtk_widget_show(gtkconv->infopane_hbox);