Mercurial > pidgin.yaz
changeset 22127:91a4506b5808
merge of '15fcc72f6db29d572909078a86fb269698314506'
and 'cb5f23cc7be3a9e456a66f0a9325074c5fc23bc1'
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Wed, 16 Jan 2008 07:37:39 +0000 |
parents | 22908b354baf (diff) 70c84d8ccc57 (current diff) |
children | c7da54111ea0 |
files | |
diffstat | 3 files changed, 7 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/oscar/family_buddy.c Wed Jan 16 07:32:39 2008 +0000 +++ b/libpurple/protocols/oscar/family_buddy.c Wed Jan 16 07:37:39 2008 +0000 @@ -219,8 +219,9 @@ if ((userfunc = aim_callhandler(od, snac->family, snac->subtype))) ret = userfunc(od, conn, frame, &userinfo); - if (snac->subtype == SNAC_SUBTYPE_BUDDY_ONCOMING) - aim_locate_requestuserinfo(od, userinfo.sn); + if (snac->subtype == SNAC_SUBTYPE_BUDDY_ONCOMING && userinfo.flags & AIM_FLAG_AWAY) + aim_locate_autofetch_away_message(od, userinfo.sn); + aim_info_free(&userinfo); return ret;
--- a/libpurple/protocols/oscar/family_locate.c Wed Jan 16 07:32:39 2008 +0000 +++ b/libpurple/protocols/oscar/family_locate.c Wed Jan 16 07:37:39 2008 +0000 @@ -386,11 +386,11 @@ } void -aim_locate_requestuserinfo(OscarData *od, const char *sn) +aim_locate_autofetch_away_message(OscarData *od, const char *sn) { struct userinfo_node *cur; - /* Make sure we haven't already requested info for this buddy */ + /* Make sure we haven't already made an info request for this buddy */ for (cur = od->locate.requested; cur != NULL; cur = cur->next) if (aim_sncmp(sn, cur->sn) == 0) return; @@ -401,7 +401,7 @@ cur->next = od->locate.requested; od->locate.requested = cur; - aim_locate_getinfoshort(od, cur->sn, 0x00000003); + aim_locate_getinfoshort(od, cur->sn, 0x00000002); } aim_userinfo_t *aim_locate_finduserinfo(OscarData *od, const char *sn) {
--- a/libpurple/protocols/oscar/oscar.h Wed Jan 16 07:32:39 2008 +0000 +++ b/libpurple/protocols/oscar/oscar.h Wed Jan 16 07:37:39 2008 +0000 @@ -1074,7 +1074,7 @@ /* 0x000f */ int aim_locate_setinterests(OscarData *od, const char *interest1, const char *interest2, const char *interest3, const char *interest4, const char *interest5, guint16 privacy); /* 0x0015 */ int aim_locate_getinfoshort(OscarData *od, const char *sn, guint32 flags); -void aim_locate_requestuserinfo(OscarData *od, const char *sn); +void aim_locate_autofetch_away_message(OscarData *od, const char *sn); guint32 aim_locate_getcaps(OscarData *od, ByteStream *bs, int len); guint32 aim_locate_getcaps_short(OscarData *od, ByteStream *bs, int len); void aim_info_free(aim_userinfo_t *);