# HG changeset patch # User Paul Aurich # Date 1255623237 0 # Node ID d5ff2cd6064a7e748bfe624c5d302cb97b4fc416 # Parent ef513141e960d88a0e0cb9524cc109015fe465ce# Parent 29e96fb6cff3fdc7c740b7b816cd0b1a980ce708 merge of '0ff7fb50305f33b84a373ff00a085c25175515c1' and 'af00ae634db8d99b296a90e1e0777bd23bd4df6a' diff -r ef513141e960 -r d5ff2cd6064a COPYRIGHT --- a/COPYRIGHT Thu Oct 15 16:13:00 2009 +0000 +++ b/COPYRIGHT Thu Oct 15 16:13:57 2009 +0000 @@ -406,11 +406,10 @@ Carsten Schaar Toby Schaffer Jonathan Schleifer -Matteo Settenvini -Colin Seymour Luke Schierer Ralph Schmieder David Schmitt +Heiko Schmitt Mark Schneider Evan Schoenberg Gabriel Schulhof @@ -420,6 +419,8 @@ Peter Seebach Don Seiler Leonardo Serra +Matteo Settenvini +Colin Seymour Jim Seymour Javeed Shaikh Joe Shaw diff -r ef513141e960 -r d5ff2cd6064a ChangeLog --- a/ChangeLog Thu Oct 15 16:13:00 2009 +0000 +++ b/ChangeLog Thu Oct 15 16:13:57 2009 +0000 @@ -32,7 +32,7 @@ Pidgin: * The userlist in a multiuser chat can be styled via gtkrc by using the - widget name "pidgin_conv_userlist". + widget name "pidgin_conv_userlist". (Heiko Schmitt) version 2.6.2 (09/05/2009): libpurple: diff -r ef513141e960 -r d5ff2cd6064a libpurple/protocols/yahoo/libymsg.c --- a/libpurple/protocols/yahoo/libymsg.c Thu Oct 15 16:13:00 2009 +0000 +++ b/libpurple/protocols/yahoo/libymsg.c Thu Oct 15 16:13:57 2009 +0000 @@ -1140,10 +1140,12 @@ } } + if(im->fed != YAHOO_FEDERATION_NONE) + g_free(fed_from); + g_free(im); } - if (fed_from != im->from) - g_free(fed_from); + g_slist_free(list); } diff -r ef513141e960 -r d5ff2cd6064a pidgin/gtkutils.c --- a/pidgin/gtkutils.c Thu Oct 15 16:13:00 2009 +0000 +++ b/pidgin/gtkutils.c Thu Oct 15 16:13:57 2009 +0000 @@ -3901,6 +3901,40 @@ return (gnome_url_handlers != NULL); } +#ifdef _WIN32 +static void +winpidgin_register_win32_url_handlers(void) +{ + int idx = 0; + LONG ret = ERROR_SUCCESS; + + do { + DWORD nameSize = 256; + char protocol[256]; + /* I don't think we need to worry about non-ASCII protocol names */ + ret = RegEnumKeyExA(HKEY_CLASSES_ROOT, idx++, protocol, &nameSize, + NULL, NULL, NULL, NULL); + if (ret == ERROR_SUCCESS) { + HKEY reg_key = NULL; + ret = RegOpenKeyExA(HKEY_CLASSES_ROOT, protocol, 0, KEY_READ, ®_key); + if (ret == ERROR_SUCCESS) { + ret = RegQueryValueExA(reg_key, "URL Protocol", NULL, NULL, NULL, NULL); + if (ret == ERROR_SUCCESS) { + /* We still pass everything to the "http" "open" handler for security reasons */ + gtk_imhtml_class_register_protocol(protocol, url_clicked_cb, link_context_menu); + } + RegCloseKey(reg_key); + } + ret = ERROR_SUCCESS; + } + } while (ret == ERROR_SUCCESS); + + if (ret != ERROR_NO_MORE_ITEMS) + purple_debug_error("winpidgin", "Error iterating HKEY_CLASSES_ROOT subkeys: %ld\n", + ret); +} +#endif + void pidgin_utils_init(void) { gtk_imhtml_class_register_protocol("http://", url_clicked_cb, link_context_menu); @@ -3918,6 +3952,11 @@ /* If we're under GNOME, try registering the system URL handlers. */ if (purple_running_gnome()) register_gnome_url_handlers(); + +#ifdef _WIN32 + winpidgin_register_win32_url_handlers(); +#endif + } void pidgin_utils_uninit(void)