Mercurial > pidgin.yaz
diff libpurple/protocols/qq/buddy_list.c @ 23756:1a0caf9983fa
applied changes from 92d52eef2994d2697999177804e3665989cfa352
through 5688199e261449d33b5803dafff50d860896ebcb
Reapplied 5688199e261449d33b5803dafff50d860896ebcb.
2008.09.04 - ccpaging <ccpaging(at)gmail.com>
* minor code cleaned
committer: Daniel Atallah <daniel.atallah@gmail.com>
author | SHiNE CsyFeK <csyfek@gmail.com> |
---|---|
date | Mon, 15 Sep 2008 03:02:06 +0000 |
parents | 23cec4360d4a |
children | 69c218fd5d54 b67eb6f3f026 |
line wrap: on
line diff
--- a/libpurple/protocols/qq/buddy_list.c Mon Sep 15 03:01:03 2008 +0000 +++ b/libpurple/protocols/qq/buddy_list.c Mon Sep 15 03:02:06 2008 +0000 @@ -424,7 +424,7 @@ case QQ_BUDDY_ONLINE_AWAY: case QQ_BUDDY_ONLINE_INVISIBLE: return TRUE; - case QQ_BUDDY_ONLINE_OFFLINE: + case QQ_BUDDY_CHANGE_TO_OFFLINE: return FALSE; } return FALSE; @@ -556,19 +556,17 @@ g_free(name); q_bud = (b == NULL) ? NULL : (qq_buddy *) b->proto_data; if (q_bud == NULL) { - purple_debug_error("QQ", - "got information of unknown buddy %d\n", bs.uid); + purple_debug_warning("QQ", "Get status of unknown buddy %d\n", bs.uid); return; } - purple_debug_info("QQ", "status:.uid = %d, q_bud->uid = %d\n", bs.uid , q_bud->uid); if(bs.ip.s_addr != 0) { q_bud->ip.s_addr = bs.ip.s_addr; q_bud->port = bs.port; } q_bud->status =bs.status; - if (q_bud->status == QQ_BUDDY_ONLINE_NORMAL) { + if (q_bud->status == QQ_BUDDY_ONLINE_NORMAL && q_bud->level <= 0) { qq_request_get_level(gc, q_bud->uid); } qq_update_buddy_contact(gc, q_bud); @@ -610,7 +608,7 @@ case QQ_BUDDY_ONLINE_NORMAL: status_id = "available"; break; - case QQ_BUDDY_ONLINE_OFFLINE: + case QQ_BUDDY_CHANGE_TO_OFFLINE: status_id = "offline"; break; case QQ_BUDDY_ONLINE_AWAY: @@ -632,11 +630,6 @@ else purple_prpl_got_user_status_deactive(gc->account, purple_name, "mobile"); - if (q_bud->comm_flag & QQ_COMM_FLAG_VIDEO && q_bud->status != QQ_BUDDY_OFFLINE) - purple_prpl_got_user_status(gc->account, purple_name, "video", NULL); - else - purple_prpl_got_user_status_deactive(gc->account, purple_name, "video"); - g_free(purple_name); } @@ -657,7 +650,7 @@ q_bud = (qq_buddy *) list->data; if (q_bud != NULL && now > q_bud->last_update + QQ_UPDATE_ONLINE_INTERVAL && q_bud->status != QQ_BUDDY_ONLINE_INVISIBLE) { - q_bud->status = QQ_BUDDY_ONLINE_OFFLINE; + q_bud->status = QQ_BUDDY_CHANGE_TO_OFFLINE; qq_update_buddy_contact(gc, q_bud); } list = list->next;