# HG changeset patch # User andrew.victor@mxit.com # Date 1320611474 0 # Node ID ec6371d4cae82a68edafc2194f54dc4d6f9aba6a # Parent cb486df263efa69cddb312e9d1f5adcf8b06a46f Add purple_account_is_disconnecting() accessor function. diff -r cb486df263ef -r ec6371d4cae8 ChangeLog.API --- a/ChangeLog.API Sun Nov 06 19:46:57 2011 +0000 +++ b/ChangeLog.API Sun Nov 06 20:31:14 2011 +0000 @@ -4,6 +4,7 @@ libpurple: Added: * pidgin_create_webview + * purple_account_is_disconnecting * purple_account_get_ui_data * purple_account_set_ui_data * purple_account_register_completed diff -r cb486df263ef -r ec6371d4cae8 libpurple/account.c --- a/libpurple/account.c Sun Nov 06 19:46:57 2011 +0000 +++ b/libpurple/account.c Sun Nov 06 20:31:14 2011 +0000 @@ -1274,6 +1274,14 @@ account->disconnecting = FALSE; } +gboolean +purple_account_is_disconnecting(const PurpleAccount *account) +{ + g_return_val_if_fail(account != NULL, TRUE); + + return account->disconnecting; +} + void purple_account_notify_added(PurpleAccount *account, const char *remote_user, const char *id, const char *alias, diff -r cb486df263ef -r ec6371d4cae8 libpurple/account.h --- a/libpurple/account.h Sun Nov 06 19:46:57 2011 +0000 +++ b/libpurple/account.h Sun Nov 06 20:31:14 2011 +0000 @@ -246,6 +246,15 @@ void purple_account_disconnect(PurpleAccount *account); /** + * Indicates if the account is currently being disconnected. + * + * @param account The account + * + * @return TRUE if the account is being disconnected. + */ +gboolean purple_account_is_disconnecting(const PurpleAccount *account); + +/** * Notifies the user that the account was added to a remote user's * buddy list. * diff -r cb486df263ef -r ec6371d4cae8 libpurple/protocols/irc/cmds.c --- a/libpurple/protocols/irc/cmds.c Sun Nov 06 19:46:57 2011 +0000 +++ b/libpurple/protocols/irc/cmds.c Sun Nov 06 20:31:14 2011 +0000 @@ -423,7 +423,7 @@ irc->quitting = TRUE; - if (!irc->account->disconnecting) + if (!purple_account_is_disconnecting(irc->account)) purple_account_set_status(irc->account, "offline", TRUE, NULL); } diff -r cb486df263ef -r ec6371d4cae8 libpurple/protocols/jabber/jabber.c --- a/libpurple/protocols/jabber/jabber.c Sun Nov 06 19:46:57 2011 +0000 +++ b/libpurple/protocols/jabber/jabber.c Sun Nov 06 20:31:14 2011 +0000 @@ -440,7 +440,7 @@ * we're disconnecting, don't generate (possibly another) error that * (for some UIs) would mask the first. */ - if (!account->disconnecting) { + if (!purple_account_is_disconnecting(account)) { gchar *tmp = g_strdup_printf(_("Lost connection with server: %s"), g_strerror(errno)); purple_connection_error(js->gc, diff -r cb486df263ef -r ec6371d4cae8 libpurple/protocols/oscar/flap_connection.c --- a/libpurple/protocols/oscar/flap_connection.c Sun Nov 06 19:46:57 2011 +0000 +++ b/libpurple/protocols/oscar/flap_connection.c Sun Nov 06 20:31:14 2011 +0000 @@ -456,7 +456,7 @@ * TODO: If we don't have a SNAC_FAMILY_LOCATE connection then * we should try to request one instead of disconnecting. */ - if (!account->disconnecting && ((od->oscar_connections == NULL) + if (!purple_account_is_disconnecting(account) && ((od->oscar_connections == NULL) || (!flap_connection_getbytype(od, SNAC_FAMILY_LOCATE)))) { /* No more FLAP connections! Sign off this PurpleConnection! */