Mercurial > pidgin
diff libpurple/protocols/msn/soap.c @ 31558:ce968e115c95
propagate from branch 'im.pidgin.cpw.masca.p2p' (head 33ca865dacb9e5bcf763d06f6a42cbaca337cc64)
to branch 'im.pidgin.pidgin' (head 92f47f4e8b0cbb107fd97e1ab814d1cedbf109ad)
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Fri, 06 May 2011 06:25:14 +0000 |
parents | fe35df9a5af4 |
children |
line wrap: on
line diff
--- a/libpurple/protocols/msn/soap.c Tue Jan 04 05:05:06 2011 +0000 +++ b/libpurple/protocols/msn/soap.c Fri May 06 06:25:14 2011 +0000 @@ -141,8 +141,7 @@ { MsnSoapRequest *req = item; - if (req->cb) - req->cb(req->message, NULL, req->cb_data); + req->cb(req->message, NULL, req->cb_data); msn_soap_request_destroy(req, FALSE); } @@ -230,12 +229,6 @@ msn_soap_connection_sanitize(conn, FALSE); conn->run_timer = purple_timeout_add(0, msn_soap_connection_run, conn); - - if (conn->current_request) { - MsnSoapRequest *req = conn->current_request; - conn->current_request = NULL; - msn_soap_connection_destroy_foreach_cb(req, conn); - } } static void @@ -269,6 +262,7 @@ MsnSoapCallback cb, gpointer cb_data) { g_return_if_fail(message != NULL); + g_return_if_fail(cb != NULL); msn_soap_message_send_internal(session, message, host, path, secure, cb, cb_data, FALSE); @@ -281,12 +275,13 @@ char *path; if (purple_url_parse(url, &host, NULL, &path, NULL, NULL)) { - msn_soap_message_send_internal(conn->session, conn->current_request->message, - host, path, conn->current_request->secure, - conn->current_request->cb, conn->current_request->cb_data, TRUE); + MsnSoapRequest *req = conn->current_request; + conn->current_request = NULL; - msn_soap_request_destroy(conn->current_request, TRUE); - conn->current_request = NULL; + msn_soap_message_send_internal(conn->session, req->message, host, path, + req->secure, req->cb, req->cb_data, TRUE); + + msn_soap_request_destroy(req, TRUE); g_free(host); g_free(path); @@ -380,7 +375,6 @@ /* something horribly wrong */ purple_ssl_close(conn->ssl); conn->ssl = NULL; - msn_soap_connection_handle_next(conn); handled = TRUE; break; } else if (conn->response_code == 503 && conn->session->login_step < MSN_LOGIN_STEP_END) {