diff --git a/include/transport/rostermanager.h b/include/transport/rostermanager.h index 677e0736..90ed926c 100644 --- a/include/transport/rostermanager.h +++ b/include/transport/rostermanager.h @@ -23,6 +23,8 @@ #include #include #include +#include +#include #include "Swiften/Swiften.h" // #include "rosterstorage.h" @@ -100,7 +102,7 @@ class RosterManager { void sendRIE(); void handleBuddyRosterPushResponse(Swift::ErrorPayload::ref error, const std::string &key); - std::map m_buddies; + std::map, boost::pool_allocator< std::pair > > m_buddies; Component *m_component; RosterStorage *m_rosterStorage; User *m_user; diff --git a/src/rostermanager.cpp b/src/rostermanager.cpp index 433db4d6..e7d24247 100644 --- a/src/rostermanager.cpp +++ b/src/rostermanager.cpp @@ -63,6 +63,8 @@ RosterManager::~RosterManager() { delete buddy; } + boost::singleton_pool::release_memory(); + if (m_rosterStorage) delete m_rosterStorage; }