diff --git a/src/networkpluginserver.cpp b/src/networkpluginserver.cpp index ec4edf96acb29d42a6d8ec423b218ad5b13dbc83..88cf6d2d8ff84e7fd4d7271f7b02e838077f3b46 100644 --- a/src/networkpluginserver.cpp +++ b/src/networkpluginserver.cpp @@ -172,7 +172,7 @@ void NetworkPluginServer::handleSessionFinished(Client *c) { // Execute new session only if there's no free one after this crash/disconnection for (std::list::const_iterator it = m_clients.begin(); it != m_clients.end(); it++) { - if ((*it)->users.size() < 1) { + if ((*it)->users.size() < CONFIG_INT(m_config, "service.users_per_backend")) { return; } } @@ -530,6 +530,8 @@ void NetworkPluginServer::handleRoomLeft(User *user, const std::string &r) { return; } + user->getConversationManager()->removeConversation(conv); + delete conv; }