Fix leak when response for roster updates was not received
This commit is contained in:
parent
3d6b63335b
commit
6898933a1d
2 changed files with 9 additions and 6 deletions
|
@ -9,8 +9,8 @@ backend_port=10001
|
|||
admin_username=admin
|
||||
admin_password=test
|
||||
#idle_reconnect_time=10
|
||||
#cert= #patch to PKCS#12 certificate
|
||||
#cert_password= #password to that certificate if any
|
||||
cert=server.pfx #patch to PKCS#12 certificate
|
||||
cert_password=test #password to that certificate if any
|
||||
users_per_backend=10
|
||||
backend=../../backends/libpurple/spectrum_libpurple_backend
|
||||
#backend=../../backends/libircclient-qt/spectrum_libircclient-qt_backend
|
||||
|
|
|
@ -64,11 +64,14 @@ RosterManager::~RosterManager() {
|
|||
delete buddy;
|
||||
}
|
||||
|
||||
LOG4CXX_INFO(logger, "Removing " << m_requests.size() << " unresponded IQs");
|
||||
BOOST_FOREACH(Swift::SetRosterRequest::ref request, m_requests) {
|
||||
request->onResponse.disconnect_all_slots();
|
||||
if (m_requests.size() != 0) {
|
||||
LOG4CXX_INFO(logger, m_user->getJID().toString() << ": Removing " << m_requests.size() << " unresponded IQs");
|
||||
BOOST_FOREACH(Swift::SetRosterRequest::ref request, m_requests) {
|
||||
request->onResponse.disconnect_all_slots();
|
||||
m_component->getIQRouter()->removeHandler(request);
|
||||
}
|
||||
m_requests.clear();
|
||||
}
|
||||
m_requests.clear();
|
||||
|
||||
boost::singleton_pool<boost::pool_allocator_tag, sizeof(unsigned int)>::release_memory();
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue