# HG changeset patch # User Paul Aurich # Date 1276891961 0 # Node ID 51d5ec7b16996ef32b46c284bab48a716dc9aa83 # Parent 738741a7a692aa23709268e09f1d0a09d81f4f0c Only call failure_cb if it exists for the [gs]et_public_alias functions. Craig "charding" Harding discovered (read: ran into the crash) this diff -r 738741a7a692 -r 51d5ec7b1699 ChangeLog.API --- a/ChangeLog.API Thu Jun 17 21:21:30 2010 +0000 +++ b/ChangeLog.API Fri Jun 18 20:12:41 2010 +0000 @@ -1,6 +1,11 @@ Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul version 2.7.2 (??/??/????): + libpurple: + Fixed: + * purple_account_[gs]et_public_alias no longer crash when + called for a protocol that doesn't support the underlying + calls and the caller does not specify a failure callback. version 2.7.1 (05/29/2010): * No changes diff -r 738741a7a692 -r 51d5ec7b1699 libpurple/account.c --- a/libpurple/account.c Thu Jun 17 21:21:30 2010 +0000 +++ b/libpurple/account.c Fri Jun 18 20:12:41 2010 +0000 @@ -1819,7 +1819,7 @@ if (PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl_info, set_public_alias)) prpl_info->set_public_alias(gc, alias, success_cb, failure_cb); - else { + else if (failure_cb) { struct public_alias_closure *closure = g_new0(struct public_alias_closure, 1); closure->account = account; @@ -1859,7 +1859,7 @@ if (PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl_info, get_public_alias)) prpl_info->get_public_alias(gc, success_cb, failure_cb); - else { + else if (failure_cb) { struct public_alias_closure *closure = g_new0(struct public_alias_closure, 1); closure->account = account;