# HG changeset patch # User Jeffrey Connelly # Date 1204488594 0 # Node ID ec1a551c11f02c43d46fabfbaccfb23a55a2cb3f # Parent ff1258551f79f90247286c477e3fc50ac3256301# Parent 89e0d994f0108f34d271c633b39242fbc7457b16 propagate from branch 'im.pidgin.soc.2007.msimprpl' (head bd0e8a231d64a1834cf27ddf420ece1cd9889327) to branch 'im.pidgin.pidgin' (head 1dd11eb6f5b868ccd553cf84919b93359d40e562) diff -r 89e0d994f010 -r ec1a551c11f0 ChangeLog --- a/ChangeLog Sun Mar 02 20:05:34 2008 +0000 +++ b/ChangeLog Sun Mar 02 20:09:54 2008 +0000 @@ -29,7 +29,7 @@ Pidgin: * Added the ability to theme conversation name colors (red and blue) - through your GTK+ theme, and exposed those theme settings to the + through your GTK+ theme, and exposed those theme settings to the Pidgin GTK+ Theme Control plugin (Dustin Howett) * Fixed having multiple alias edit areas in the infopane (Elliott Sales de Andrade) diff -r 89e0d994f010 -r ec1a551c11f0 Makefile.am --- a/Makefile.am Sun Mar 02 20:05:34 2008 +0000 +++ b/Makefile.am Sun Mar 02 20:09:54 2008 +0000 @@ -35,9 +35,6 @@ apps_in_files = pidgin.desktop.in apps_DATA = $(apps_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@ -endif - -if ENABLE_GTK GTK_DIR=pidgin endif diff -r 89e0d994f010 -r ec1a551c11f0 configure.ac --- a/configure.ac Sun Mar 02 20:05:34 2008 +0000 +++ b/configure.ac Sun Mar 02 20:09:54 2008 +0000 @@ -46,8 +46,8 @@ m4_define([purple_lt_current], [4]) m4_define([purple_major_version], [2]) m4_define([purple_minor_version], [4]) -m4_define([purple_micro_version], [0]) -m4_define([purple_version_suffix], []) +m4_define([purple_micro_version], [1]) +m4_define([purple_version_suffix], [devel]) m4_define([purple_version], [purple_major_version.purple_minor_version.purple_micro_version]) m4_define([purple_display_version], purple_version[]m4_ifdef([purple_version_suffix],[purple_version_suffix])) @@ -55,8 +55,8 @@ m4_define([gnt_lt_current], [4]) m4_define([gnt_major_version], [2]) m4_define([gnt_minor_version], [4]) -m4_define([gnt_micro_version], [0]) -m4_define([gnt_version_suffix], []) +m4_define([gnt_micro_version], [1]) +m4_define([gnt_version_suffix], [devel]) m4_define([gnt_version], [gnt_major_version.gnt_minor_version.gnt_micro_version]) m4_define([gnt_display_version], gnt_version[]m4_ifdef([gnt_version_suffix],[gnt_version_suffix])) diff -r 89e0d994f010 -r ec1a551c11f0 doc/funniest_home_convos.txt --- a/doc/funniest_home_convos.txt Sun Mar 02 20:05:34 2008 +0000 +++ b/doc/funniest_home_convos.txt Sun Mar 02 20:09:54 2008 +0000 @@ -505,3 +505,8 @@ 17:14 see? 17:16 I think blocking in pidgin not working is not your biggest problem here. + + +12:58 why hasn't support for napster been removed? +12:58 It has. +12:59 oh.. ok diff -r 89e0d994f010 -r ec1a551c11f0 doc/ui-ops.dox --- a/doc/ui-ops.dox Sun Mar 02 20:05:34 2008 +0000 +++ b/doc/ui-ops.dox Sun Mar 02 20:09:54 2008 +0000 @@ -10,7 +10,7 @@ - #PurpleCoreUiOps - #PurpleDebugUiOps - #PurpleDnsQueryUiOps - - #PurpleEventLoopUiOps + - #PurpleEventLoopUiOps (without this, nothing will work and you will cry) - #PurpleIdleUiOps - #PurpleNotifyUiOps - #PurplePrivacyUiOps diff -r 89e0d994f010 -r ec1a551c11f0 finch/libgnt/gntwm.c --- a/finch/libgnt/gntwm.c Sun Mar 02 20:05:34 2008 +0000 +++ b/finch/libgnt/gntwm.c Sun Mar 02 20:09:54 2008 +0000 @@ -32,7 +32,14 @@ #endif #include -#include +#if GLIB_CHECK_VERSION(2,6,0) +# include +#else +# include +# include +# include +# define g_fopen open +#endif #include #include #include diff -r 89e0d994f010 -r ec1a551c11f0 libpurple/eventloop.h --- a/libpurple/eventloop.h Sun Mar 02 20:05:34 2008 +0000 +++ b/libpurple/eventloop.h Sun Mar 02 20:09:54 2008 +0000 @@ -42,59 +42,108 @@ } PurpleInputCondition; +/** The type of callbacks to handle events on file descriptors, as passed to + * purple_input_add(). The callback will receive the @c user_data passed to + * purple_input_add(), the file descriptor on which the event occurred, and the + * condition that was satisfied to cause the callback to be invoked. + */ typedef void (*PurpleInputFunction)(gpointer, gint, PurpleInputCondition); +/** @copydoc _PurpleEventLoopUiOps */ typedef struct _PurpleEventLoopUiOps PurpleEventLoopUiOps; +/** An abstraction of an application's mainloop; libpurple will use this to + * watch file descriptors and schedule timed callbacks. If your application + * uses the glib mainloop, there is an implementation of this struct in + * libpurple/example/nullclient.c which you can use verbatim. + */ struct _PurpleEventLoopUiOps { /** - * Creates a callback timer with an interval measured in milliseconds. - * @see g_timeout_add, purple_timeout_add + * Should create a callback timer with an interval measured in + * milliseconds. The supplied @a function should be called every @a + * interval seconds until it returns @c FALSE, after which it should not + * be called again. + * + * Analogous to g_timeout_add in glib. + * + * @param interval the interval in milliseconds between calls + * to @a function. + * @param data arbitrary data to be passed to @a function at each + * call. + * @todo Who is responsible for freeing @a data? + * + * @return a handle for the timeout, which can be passed to + * #timeout_remove. + * + * @see purple_timeout_add **/ guint (*timeout_add)(guint interval, GSourceFunc function, gpointer data); /** - * Removes a callback timer. - * @see purple_timeout_remove, g_source_remove + * Should remove a callback timer. Analogous to g_source_remove in glib. + * @param handle an identifier for a timeout, as returned by + * #timeout_add. + * @return @c TRUE if the timeout identified by @a handle was + * found and removed. + * @see purple_timeout_remove */ gboolean (*timeout_remove)(guint handle); /** - * Adds an input handler. - * @see purple_input_add, g_io_add_watch_full + * Should add an input handler. Analogous to g_io_add_watch_full in + * glib. + * + * @param fd a file descriptor to watch for events + * @param cond a bitwise OR of events on @a fd for which @a func + * should be called. + * @param func a callback to fire whenever a relevant event on @a + * fd occurs. + * @param user_data arbitrary data to pass to @a fd. + * @return an identifier for this input handler, which can be + * passed to #input_remove. + * + * @see purple_input_add */ guint (*input_add)(int fd, PurpleInputCondition cond, - PurpleInputFunction func, gpointer user_data); + PurpleInputFunction func, gpointer user_data); /** - * Removes an input handler. - * @see purple_input_remove, g_source_remove + * Should remove an input handler. Analogous to g_source_remove in glib. + * @param handle an identifier, as returned by #input_add. + * @return @c TRUE if the input handler was found and removed. + * @see purple_input_remove */ gboolean (*input_remove)(guint handle); /** - * Get the current error status for an input. - * Implementation of this UI op is optional. Implement it if the UI's sockets - * or event loop needs to customize determination of socket error status. - * @see purple_input_get_error, getsockopt + * If implemented, should get the current error status for an input. + * + * Implementation of this UI op is optional. Implement it if the UI's + * sockets or event loop needs to customize determination of socket + * error status. If unimplemented, getsockopt(2) will be used + * instead. + * + * @see purple_input_get_error */ int (*input_get_error)(int fd, int *error); /** - * Creates a callback timer with an interval measured in seconds. + * If implemented, should create a callback timer with an interval + * measured in seconds. Analogous to g_timeout_add_seconds in glib. * * This allows UIs to group timers for better power efficiency. For * this reason, @a interval may be rounded by up to a second. * * Implementation of this UI op is optional. If it's not implemented, - * calls to purple_timeout_add_seconds() will be serviced by the - * timeout_add UI op. + * calls to purple_timeout_add_seconds() will be serviced by + * #timeout_add. * - * @see g_timeout_add_seconds, purple_timeout_add_seconds() + * @see purple_timeout_add_seconds() **/ - guint (*timeout_add_seconds)(guint interval, GSourceFunc function, gpointer data); + guint (*timeout_add_seconds)(guint interval, GSourceFunc function, + gpointer data); void (*_purple_reserved2)(void); void (*_purple_reserved3)(void); @@ -118,8 +167,8 @@ * milliseconds. * @param function The function to call. * @param data data to pass to @a function. - * @return A handle to the timer which can be passed to - * purple_timeout_remove to remove the timer. + * @return A handle to the timer which can be passed to + * purple_timeout_remove() to remove the timer. */ guint purple_timeout_add(guint interval, GSourceFunc function, gpointer data); @@ -137,7 +186,7 @@ * @param function The function to call. * @param data data to pass to @a function. * @return A handle to the timer which can be passed to - * purple_timeout_remove to remove the timer. + * purple_timeout_remove() to remove the timer. * * @since 2.1.0 */ @@ -146,9 +195,9 @@ /** * Removes a timeout handler. * - * @param handle The handle, as returned by purple_timeout_add. + * @param handle The handle, as returned by purple_timeout_add(). * - * @return Something. + * @return @c TRUE if the handler was successfully removed. */ gboolean purple_timeout_remove(guint handle); @@ -164,26 +213,29 @@ * @see g_io_add_watch_full */ guint purple_input_add(int fd, PurpleInputCondition cond, - PurpleInputFunction func, gpointer user_data); + PurpleInputFunction func, gpointer user_data); /** * Removes an input handler. * * @param handle The handle of the input handler. Note that this is the return - * value from purple_input_add, not the file descriptor. + * value from purple_input_add(), not the file descriptor. */ gboolean purple_input_remove(guint handle); /** * Get the current error status for an input. + * * The return value and error follow getsockopt() with a level of SOL_SOCKET and an * option name of SO_ERROR, and this is how the error is determined if the UI does not * implement the input_get_error UI op. * * @param fd The input file descriptor. - * @param error A pointer to an int which on return will have the error, or 0 if no error. + * @param error A pointer to an @c int which on return will have the error, or + * @c 0 if no error. * - * @return 0 if there is no error; -1 if there is an error, in which case errno will be set. + * @return @c 0 if there is no error; @c -1 if there is an error, in which case + * @a errno will be set. */ int purple_input_get_error(int fd, int *error); diff -r 89e0d994f010 -r ec1a551c11f0 libpurple/protocols/jabber/Makefile.mingw --- a/libpurple/protocols/jabber/Makefile.mingw Sun Mar 02 20:05:34 2008 +0000 +++ b/libpurple/protocols/jabber/Makefile.mingw Sun Mar 02 20:09:54 2008 +0000 @@ -84,7 +84,6 @@ ifeq ($(CYRUS_SASL), 1) CYRUS_SASL_TOP := $(WIN32_DEV_TOP)/cyrus-sasl-2.1.22 -CFLAGS += -DHAVE_CYRUS_SASL INCLUDE_PATHS += -I$(CYRUS_SASL_TOP)/include LIB_PATHS += -L$(CYRUS_SASL_TOP)/lib LIBS += -llibsasl diff -r 89e0d994f010 -r ec1a551c11f0 libpurple/protocols/msnp9/nexus.c --- a/libpurple/protocols/msnp9/nexus.c Sun Mar 02 20:05:34 2008 +0000 +++ b/libpurple/protocols/msnp9/nexus.c Sun Mar 02 20:09:54 2008 +0000 @@ -321,7 +321,7 @@ { MsnNexus *nexus; MsnSession *session; - char *username, *password; + char *username, *password, *encpass; char *request_str, *head, *tail; char *buffer = NULL; guint32 ctint; @@ -337,8 +337,9 @@ username = g_strdup(purple_url_encode(purple_account_get_username(session->account))); - password = - g_strdup(purple_url_encode(purple_connection_get_password(session->account->gc))); + password = g_strndup(purple_connection_get_password(session->account->gc), 16); + encpass = g_strdup(purple_url_encode(password)); + g_free(password); ctint = strtoul((char *)g_hash_table_lookup(nexus->challenge_data, "ct"), NULL, 10) + 200; @@ -368,7 +369,7 @@ nexus->login_host); buffer = g_strdup_printf("%s,pwd=XXXXXXXX,%s\r\n", head, tail); - request_str = g_strdup_printf("%s,pwd=%s,%s\r\n", head, password, tail); + request_str = g_strdup_printf("%s,pwd=%s,%s\r\n", head, encpass, tail); purple_debug_misc("msn", "Sending: {%s}\n", buffer); @@ -376,7 +377,7 @@ g_free(head); g_free(tail); g_free(username); - g_free(password); + g_free(encpass); nexus->write_buf = request_str; nexus->written_len = 0; diff -r 89e0d994f010 -r ec1a551c11f0 libpurple/win32/global.mak --- a/libpurple/win32/global.mak Sun Mar 02 20:05:34 2008 +0000 +++ b/libpurple/win32/global.mak Sun Mar 02 20:09:54 2008 +0000 @@ -79,6 +79,10 @@ CYRUS_SASL ?= 1 +ifeq ($(CYRUS_SASL), 1) +DEFINES += -DHAVE_CYRUS_SASL +endif + DEFINES += -DHAVE_CONFIG_H # Use -g flag when building debug version of Pidgin (including plugins). diff -r 89e0d994f010 -r ec1a551c11f0 pidgin/gtkdialogs.c --- a/pidgin/gtkdialogs.c Sun Mar 02 20:05:34 2008 +0000 +++ b/pidgin/gtkdialogs.c Sun Mar 02 20:09:54 2008 +0000 @@ -207,7 +207,7 @@ {N_("Albanian"), "sq", "Besnik Bleta", "besnik@programeshqip.org"}, {N_("Serbian"), "sr", "Miloš Popović", "gpopac@gmail.com"}, {N_("Serbian"), "sr@Latn", "Miloš Popović", "gpopac@gmail.com"}, - {"Sinhala", "si", "Danishka Navin", "snavin@redhat.com"}, + {N_("Sinhala"), "si", "Danishka Navin", "snavin@redhat.com"}, {N_("Swedish"), "sv", "Peter Hjalmarsson", "xake@telia.com"}, {N_("Tamil"), "ta", "Viveka Nathan K", "vivekanathan@users.sourceforge.net"}, {N_("Telugu"), "te", "Mr. Subbaramaih", "info.gist@cdac.in"}, diff -r 89e0d994f010 -r ec1a551c11f0 pidgin/gtkimhtml.c