diff --git a/spectrum/src/frontends/xmpp/XMPPUserManager.cpp b/spectrum/src/frontends/xmpp/XMPPUserManager.cpp index 6f9c92fdcf882dcb8a1ffdff5ffe707436135e23..b9919fe94ff71b6e9a8045bc2c64816ac72fa50c 100644 --- a/spectrum/src/frontends/xmpp/XMPPUserManager.cpp +++ b/spectrum/src/frontends/xmpp/XMPPUserManager.cpp @@ -32,6 +32,7 @@ #include "adhocmanager.h" #include "settingsadhoccommand.h" #include "RosterResponder.h" +#include "discoitemsresponder.h" #include "Swiften/Server/ServerStanzaChannel.h" #include "Swiften/Elements/StreamError.h" @@ -82,7 +83,10 @@ XMPPUserManager::XMPPUserManager(Component *component, UserRegistry *userRegistr m_rosterResponder = new RosterResponder(frontend->getIQRouter(), this); m_rosterResponder->start(); - m_adHocManager = new AdHocManager(component, frontend->getDiscoItemsResponder(), this, storageBackend); + m_discoItemsResponder = new DiscoItemsResponder(component, this); + m_discoItemsResponder->start(); + + m_adHocManager = new AdHocManager(component, m_discoItemsResponder, this, storageBackend); m_adHocManager->start(); SettingsAdHocCommandFactory *m_settings = new SettingsAdHocCommandFactory(); @@ -111,6 +115,9 @@ XMPPUserManager::~XMPPUserManager() { m_rosterResponder->stop(); delete m_rosterResponder; + + m_discoItemsResponder->stop(); + delete m_discoItemsResponder; } void XMPPUserManager::sendVCard(unsigned int id, Swift::VCard::ref vcard) {