summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Atallah <datallah@pidgin.im>2010-01-07 23:48:32 +0000
committerDaniel Atallah <datallah@pidgin.im>2010-01-07 23:48:32 +0000
commit7432f9c3a38da787fae32bd6bc8dcd1b08b2b26b (patch)
treef664be0f89b7daaea4e654173ecfbdba579e502f
parentd5228e5b870a987b11b50aac52185684bd8f597f (diff)
downloadpidgin-7432f9c3a38da787fae32bd6bc8dcd1b08b2b26b.tar.gz
*** Plucked rev 0707f870a510922ae86ef379b5f01efa76d01402 (8e1d807c1aadfb510e14f047d2cf00e0c06be465):
purple_account_request_authorization() does not require non-NULL auth and deny callbacks, so let's not crash if it is not given them. This should fix Fedora bug https://bugzilla.redhat.com/show_bug.cgi?id=552607 which I'm guessing is caused by a 3rd party prpl
-rw-r--r--libpurple/account.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/libpurple/account.c b/libpurple/account.c
index 78100bbb99..0b11c05e1c 100644
--- a/libpurple/account.c
+++ b/libpurple/account.c
@@ -1341,7 +1341,8 @@ request_auth_cb(void *data)
handles = g_list_remove(handles, info);
- info->auth_cb(info->userdata);
+ if (info->auth_cb != NULL)
+ info->auth_cb(info->userdata);
purple_signal_emit(purple_accounts_get_handle(),
"account-authorization-granted", info->account, info->user);
@@ -1356,7 +1357,8 @@ request_deny_cb(void *data)
handles = g_list_remove(handles, info);
- info->deny_cb(info->userdata);
+ if (info->deny_cb != NULL)
+ info->deny_cb(info->userdata);
purple_signal_emit(purple_accounts_get_handle(),
"account-authorization-denied", info->account, info->user);
@@ -1383,10 +1385,12 @@ purple_account_request_authorization(PurpleAccount *account, const char *remote_
"account-authorization-requested", account, remote_user));
if (plugin_return > 0) {
- auth_cb(user_data);
+ if (auth_cb != NULL)
+ auth_cb(user_data);
return NULL;
} else if (plugin_return < 0) {
- deny_cb(user_data);
+ if (deny_cb != NULL)
+ deny_cb(user_data);
return NULL;
}