diff --git a/src/conference/handlers/remote-conference-event-handler.cpp b/src/conference/handlers/remote-conference-event-handler.cpp index aa5f5bce9..4d9737249 100644 --- a/src/conference/handlers/remote-conference-event-handler.cpp +++ b/src/conference/handlers/remote-conference-event-handler.cpp @@ -22,7 +22,7 @@ #include "conference/remote-conference.h" #include "content/content-manager.h" #include "content/content.h" -#include "core/core.h" +#include "core/core-p.h" #include "logger/logger.h" #include "remote-conference-event-handler-p.h" #include "xml/conference-info.h" @@ -214,9 +214,12 @@ Object(*new RemoteConferenceEventHandlerPrivate) { L_D(); xercesc::XMLPlatformUtils::Initialize(); d->conf = remoteConference; + d->conf->getCore()->getPrivate()->registerListener(d); } RemoteConferenceEventHandler::~RemoteConferenceEventHandler () { + L_D(); + d->conf->getCore()->getPrivate()->unregisterListener(d); xercesc::XMLPlatformUtils::Terminate(); } diff --git a/src/core/core.h b/src/core/core.h index cf82c334c..8002d1d88 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -50,6 +50,7 @@ class LINPHONE_PUBLIC Core : public Object { friend class MainDb; friend class MainDbChatMessageKey; friend class MainDbEventKey; + friend class RemoteConferenceEventHandler; friend class ServerGroupChatRoom; friend class ServerGroupChatRoomPrivate;