Mercurial > pidgin
diff libpurple/protocols/qq/qq_process.c @ 24140:619ac2303c46
2009.10.02 - ccpaging <ccpaging(at)gmail.com>
* Added 'Captcha Display' function
* Most functions from patch written by Emil Alexiev merged into trunk,
except 'buddy operations'
* 'online buddy status' and 'qun buddies' still have problems
author | SHiNE CsyFeK <csyfek@gmail.com> |
---|---|
date | Wed, 22 Oct 2008 14:43:46 +0000 |
parents | 832178d951ca |
children | df699d739b8f |
line wrap: on
line diff
--- a/libpurple/protocols/qq/qq_process.c Wed Oct 22 14:42:23 2008 +0000 +++ b/libpurple/protocols/qq/qq_process.c Wed Oct 22 14:43:46 2008 +0000 @@ -589,7 +589,7 @@ switch (cmd) { case QQ_CMD_TOKEN: if (qq_process_token(gc, rcved, rcved_len) == QQ_LOGIN_REPLY_OK) { - if (qd->client_version > 2005) { + if (qd->client_version >= 2007) { qq_request_token_ex(gc); } else { qq_request_login(gc); @@ -615,7 +615,7 @@ break; case QQ_CMD_LOGIN: default: - if (qd->client_version > 2005) { + if (qd->client_version >= 2007) { data_len = qq_decrypt(data, rcved, rcved_len, qd->ld.pwd_twice_md5); if (data_len >= 0) { purple_debug_warning("QQ", "Decrypt login packet by pwd_twice_md5\n"); @@ -696,6 +696,7 @@ return ret_8; } + purple_connection_update_progress(gc, _("Logined"), QQ_CONNECT_STEPS - 1, QQ_CONNECT_STEPS); purple_debug_info("QQ", "Login repliess OK; everything is fine\n"); purple_connection_set_state(gc, PURPLE_CONNECTED); qd->is_login = TRUE; /* must be defined after sev_finish_login */ @@ -776,7 +777,13 @@ qq_process_send_im_reply(data, data_len, gc); break; case QQ_CMD_KEEP_ALIVE: - qq_process_keep_alive(data, data_len, gc); + if (qd->client_version >= 2008) { + qq_process_keep_alive_2008(data, data_len, gc); + } else if (qd->client_version >= 2007) { + qq_process_keep_alive_2007(data, data_len, gc); + } else { + qq_process_keep_alive(data, data_len, gc); + } break; case QQ_CMD_GET_BUDDIES_ONLINE: ret_8 = qq_process_get_buddies_online_reply(data, data_len, gc);