--- a/libpurple/protocols/msn/session.c Tue Jul 23 03:22:54 2013 +0530 +++ b/libpurple/protocols/msn/session.c Wed Jul 24 04:55:24 2013 +0530 @@ -55,6 +55,8 @@ session->guid = rand_guid(); + session->soap = msn_soap_service_new(session); + return session; } @@ -73,11 +75,7 @@ if (session->connected) msn_session_disconnect(session); - if (session->soap_cleanup_handle) - purple_timeout_remove(session->soap_cleanup_handle); - - if (session->soap_table != NULL) - g_hash_table_destroy(session->soap_table); + msn_soap_service_destroy(session->soap); while (session->slplinks != NULL) msn_slplink_unref(session->slplinks->data);