# HG changeset patch # User Christian Hammond # Date 1100460323 0 # Node ID 0109f3a518d2868fdf73af8b0ccd2d5bea1bb4e5 # Parent 53410b84336fcb2d8912ceadddaebd796de072c6 [gaim-migrate @ 11291] A few small changes, and one big one. Setting a status on an account correctly updates the prpl. A number of prpls are broken though. MSN seems to work. OSCAR rate limits. :/ committer: Tailor Script diff -r 53410b84336f -r 0109f3a518d2 src/status.c --- a/src/status.c Sun Nov 14 01:52:25 2004 +0000 +++ b/src/status.c Sun Nov 14 19:25:23 2004 +0000 @@ -575,7 +575,7 @@ static void notify_status_update(GaimPresence *presence, GaimStatus *old_status, - GaimStatus *new_status) + GaimStatus *new_status) { GaimPresenceContext context = gaim_presence_get_context(presence); @@ -583,12 +583,28 @@ if (context == GAIM_PRESENCE_CONTEXT_ACCOUNT) { + GaimAccount *account = gaim_presence_get_account(presence); GaimAccountUiOps *ops = gaim_accounts_get_ui_ops(); + if (gaim_account_is_connected(account)) + { + GaimPluginProtocolInfo *prpl_info = NULL; + GaimPlugin *prpl; + + prpl = gaim_find_prpl(gaim_account_get_protocol_id(account)); + + if (prpl != NULL) + { + prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(prpl); + + if (prpl_info != NULL && prpl_info->set_status != NULL) + prpl_info->set_status(account, new_status); + } + } + if (ops != NULL && ops->status_changed != NULL) { - ops->status_changed(gaim_presence_get_account(presence), - new_status); + ops->status_changed(account, new_status); } } else if (context == GAIM_PRESENCE_CONTEXT_CONV) @@ -1566,6 +1582,18 @@ return FALSE; } +const GList * +gaim_statuses_get_stored(void) +{ + return NULL; +} + +GaimStatus * +gaim_statuses_find_stored(const GaimStatusType *status_type, const char *id) +{ + return NULL; +} + void * gaim_statuses_get_handle() { static int handle; @@ -1620,9 +1648,12 @@ void gaim_statuses_uninit(void) { - if(buddy_presences != NULL) + if (buddy_presences != NULL) + { g_hash_table_destroy(buddy_presences); - buddy_presences = NULL; + + buddy_presences = NULL; + } } void