diff options
author | dequis <dx@dxzone.com.ar> | 2014-11-17 02:57:22 -0300 |
---|---|---|
committer | dequis <dx@dxzone.com.ar> | 2014-11-17 02:57:22 -0300 |
commit | aa6bcd8adcf640ee4c910150d6a3034531fd087d (patch) | |
tree | fb92e5ae5c8cf9ed790a7594fd8ad80a2c912235 | |
parent | 3325df779173020b789f7d4006ae109a75a2b9d2 (diff) |
msn: add 'allow' role if contact has neither block nor allow
This workarounds the problems of showing as offline to other contacts,
by sending ADL with role 3 (FL+AL) instead of just 1 (FL, no AL or BL)
-rw-r--r-- | protocols/msn/soap.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/protocols/msn/soap.c b/protocols/msn/soap.c index b994172b..35299b28 100644 --- a/protocols/msn/soap.c +++ b/protocols/msn/soap.c @@ -759,9 +759,17 @@ static int msn_soap_addressbook_handle_response( struct msn_soap_req_data *soap_ if( ( bd->flags & ( MSN_BUDDY_AL | MSN_BUDDY_BL ) ) == ( MSN_BUDDY_AL | MSN_BUDDY_BL ) ) { + /* both allow and block, delete block, add wtf */ bd->flags &= ~MSN_BUDDY_BL; wtf++; } + + + if( ( bd->flags & ( MSN_BUDDY_AL | MSN_BUDDY_BL ) ) == 0 ) + { + /* neither allow or block, add allow */ + bd->flags |= MSN_BUDDY_AL; + } } } |