# HG changeset patch # User Etan Reisner # Date 1250400565 0 # Node ID 650b79eaf305ff1ccf44873fd6e085b08a48b983 # Parent 618c41ef0ab89474a47f4e79eb485e52c108cf80# Parent ce50e961f650d32ccf2a5466349e5d557fc78a8d merge of '453bf3da68c1baca3d6585b338ac13df415c9be0' and 'aedf94cca64dd46503c2482445e6de4e9816b7df' diff -r 618c41ef0ab8 -r 650b79eaf305 ChangeLog --- a/ChangeLog Sat Aug 15 05:52:26 2009 +0000 +++ b/ChangeLog Sun Aug 16 05:29:25 2009 +0000 @@ -192,6 +192,8 @@ * The hardware cursor is updated correctly. This will be useful especially for users of braille terminals, screen readers etc. * Added a TinyURL plugin, which aids copying longer URLs. + * Fixed UTF-8 compatibility problems which could cause exits or other + unrequested behaviour. Pidgin GTK+ Theme Control Plugin: * Removed mouse cursor color preferences. diff -r 618c41ef0ab8 -r 650b79eaf305 finch/libgnt/gntkeys.c --- a/finch/libgnt/gntkeys.c Sat Aug 15 05:52:26 2009 +0000 +++ b/finch/libgnt/gntkeys.c Sun Aug 16 05:29:25 2009 +0000 @@ -166,7 +166,7 @@ strstr(term, "xterm") == term || strstr(term, "vt100") == term) *(text + 1) = 'O'; - } else if (*(unsigned char*)text == 195) { + } else if (g_utf8_get_char(text) == 195) { if (*(text + 2) == 0 && strstr(term, "xterm") == term) { *(text) = 27; *(text + 1) -= 64; /* Say wha? */ diff -r 618c41ef0ab8 -r 650b79eaf305 libpurple/protocols/msn/Makefile.mingw --- a/libpurple/protocols/msn/Makefile.mingw Sat Aug 15 05:52:26 2009 +0000 +++ b/libpurple/protocols/msn/Makefile.mingw Sun Aug 16 05:29:25 2009 +0000 @@ -41,7 +41,6 @@ command.c \ contact.c\ dialog.c \ - directconn.c \ error.c \ group.c \ history.c \ diff -r 618c41ef0ab8 -r 650b79eaf305 libpurple/protocols/yahoo/libyahoo.c --- a/libpurple/protocols/yahoo/libyahoo.c Sat Aug 15 05:52:26 2009 +0000 +++ b/libpurple/protocols/yahoo/libyahoo.c Sun Aug 16 05:29:25 2009 +0000 @@ -278,7 +278,7 @@ NULL, /**< dependencies */ PURPLE_PRIORITY_DEFAULT, /**< priority */ "prpl-yahoo", /**< id */ - "Yahoo!", /**< name */ + "Yahoo", /**< name */ DISPLAY_VERSION, /**< version */ /** summary */ N_("Yahoo! Protocol Plugin"), diff -r 618c41ef0ab8 -r 650b79eaf305 libpurple/protocols/yahoo/libyahoojp.c --- a/libpurple/protocols/yahoo/libyahoojp.c Sat Aug 15 05:52:26 2009 +0000 +++ b/libpurple/protocols/yahoo/libyahoojp.c Sun Aug 16 05:29:25 2009 +0000 @@ -174,7 +174,7 @@ NULL, /**< dependencies */ PURPLE_PRIORITY_DEFAULT, /**< priority */ "prpl-yahoojp", /**< id */ - "Yahoo! JAPAN", /**< name */ + "Yahoo JAPAN", /**< name */ DISPLAY_VERSION, /**< version */ /** summary */ N_("Yahoo! JAPAN Protocol Plugin"), diff -r 618c41ef0ab8 -r 650b79eaf305 pidgin/gtkblist.c --- a/pidgin/gtkblist.c Sat Aug 15 05:52:26 2009 +0000 +++ b/pidgin/gtkblist.c Sun Aug 16 05:29:25 2009 +0000 @@ -622,7 +622,14 @@ struct _pidgin_blist_node *gtknode = (struct _pidgin_blist_node *)purple_blist_node_get_ui_data(node); - if (purple_contact_get_alias(contact) || gtknode->contact_expanded) { + /* + * XXX Using purple_contact_get_alias here breaks because we + * specifically want to check the contact alias only (i.e. not + * the priority buddy, which purple_contact_get_alias does). + * Adding yet another get_alias is evil, so figure this out + * later :-P + */ + if (contact->alias || gtknode->contact_expanded) { purple_blist_alias_contact(contact, arg2); gtk_blist_auto_personize(purple_blist_node_get_parent(node), arg2); } else { diff -r 618c41ef0ab8 -r 650b79eaf305 pidgin/gtkcertmgr.c --- a/pidgin/gtkcertmgr.c Sat Aug 15 05:52:26 2009 +0000 +++ b/pidgin/gtkcertmgr.c Sun Aug 16 05:29:25 2009 +0000 @@ -144,12 +144,12 @@ tls_peers_mgmt_import_ok2_cb(gpointer data, const char *result) { PurpleCertificate *crt = (PurpleCertificate *) data; - const char *id = result; /* TODO: Perhaps prompt if you're overwriting a cert? */ /* Drop the certificate into the pool */ - purple_certificate_pool_store(tpm_dat->tls_peers, id, crt); + if (result && *result) + purple_certificate_pool_store(tpm_dat->tls_peers, result, crt); /* And this certificate is not needed any more */ purple_certificate_destroy(crt);