diff --git a/include/Core/EventBroker.h b/include/Core/EventBroker.h index 410a93a..f19309c 100644 --- a/include/Core/EventBroker.h +++ b/include/Core/EventBroker.h @@ -121,8 +121,6 @@ public: int Process(std::string contextTypeName); void Clear(); void Unsubscribe(BaseEventRelay &relay); - template - void UnsubscribeAll(); private: typedef std::string ContextTypeName_t; // typeid(ContextType).name() @@ -156,13 +154,6 @@ int EventBroker::Process() return Process(contextTypeName); } -template -void EventBroker::UnsubscribeAll() -{ - const std::string contextTypeName = typeid(ContextType).name(); - m_ContextRelays.erase(contextTypeName); -} - } #endif // MessageRelay_h__ diff --git a/src/game/Core/EventBroker.cpp b/src/game/Core/EventBroker.cpp index 748983a..f24b073 100644 --- a/src/game/Core/EventBroker.cpp +++ b/src/game/Core/EventBroker.cpp @@ -40,6 +40,7 @@ void dd::EventBroker::Unsubscribe(BaseEventRelay &relay) // ? { if (it->second == &relay) { + relay.m_Broker = nullptr; eventRelays.erase(it); break; }