Mercurial > pidgin.yaz
diff libpurple/protocols/msn/soap.c @ 20501:f6dff814d95f
cleans up ownership of soap callback data, this soap stuff is perfect
weight-loss pill, because it makes you want to throw up
author | Ka-Hing Cheung <khc@hxbc.us> |
---|---|
date | Sun, 09 Sep 2007 01:42:46 +0000 |
parents | f062793410b5 |
children | 915e11fbaeb0 2c8c6d77f12c |
line wrap: on
line diff
--- a/libpurple/protocols/msn/soap.c Sun Sep 09 00:50:14 2007 +0000 +++ b/libpurple/protocols/msn/soap.c Sun Sep 09 01:42:46 2007 +0000 @@ -150,7 +150,12 @@ g_return_if_fail(soapconn != NULL); + soapconn->body = NULL; + while ((request = g_queue_pop_head(soapconn->soap_queue)) != NULL){ + if (soapconn->read_cb) { + soapconn->read_cb(soapconn, -1, 0); + } msn_soap_request_free(request); } } @@ -510,14 +515,6 @@ soapconn->written_len = 0; } -void -msn_soap_free_data_cb(MsnSoapConn *soapconn) -{ - if (soapconn->data_cb) { - g_free(soapconn->data_cb); - } -} - /*Soap write process func*/ static void msn_soap_write_cb(gpointer data, gint source, PurpleInputCondition cond) @@ -625,7 +622,6 @@ g_free(request->login_path); g_free(request->soap_action); g_free(request->body); - g_free(request->data_cb); request->read_cb = NULL; request->written_cb = NULL;