Mercurial > pidgin.yaz
changeset 23382:8ea901db8e34
Mobile status are created as independant statuses, which cannot be the
'primary active status' (which is always an exclusive status) of a
presence. So we need to use purple_presence_is_status_primitive_active to
check if the mobile status is active or not. This should fix the bug
where auto-replies are sent to mobile users.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Sat, 21 Jun 2008 06:56:35 +0000 |
parents | bd542a092a3b |
children | 6b4b68323b3b 0fc1d2df836e |
files | libpurple/server.c |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/server.c Sat Jun 21 04:50:36 2008 +0000 +++ b/libpurple/server.c Sat Jun 21 06:56:35 2008 +0000 @@ -727,6 +727,7 @@ PurpleStatusPrimitive primitive; const gchar *auto_reply_pref; const char *away_msg = NULL; + gboolean mobile = FALSE; auto_reply_pref = purple_prefs_get_string("/purple/away/auto_reply"); @@ -734,9 +735,10 @@ status = purple_presence_get_active_status(presence); status_type = purple_status_get_type(status); primitive = purple_status_type_get_primitive(status_type); + mobile = purple_presence_is_status_primitive_active(presence, PURPLE_STATUS_MOBILE); if ((primitive == PURPLE_STATUS_AVAILABLE) || (primitive == PURPLE_STATUS_INVISIBLE) || - (primitive == PURPLE_STATUS_MOBILE) || + mobile || !strcmp(auto_reply_pref, "never") || (!purple_presence_is_idle(presence) && !strcmp(auto_reply_pref, "awayidle"))) {