dispatcher nullcheck
All checks were successful
Linux arm64 / Build (push) Successful in 14s

This commit is contained in:
2025-03-03 11:02:56 +01:00
parent c46c5bed6f
commit 7a4b2aeb4a

View File

@@ -2,6 +2,7 @@
template <typename MessageIdType, typename MessageBase, typename MessageHandler> template <typename MessageIdType, typename MessageBase, typename MessageHandler>
void MessageDispatcher<MessageIdType, MessageBase, MessageHandler>::RegisterHandler(MessageIdType a_MessageType, MessageHandler* a_Handler) { void MessageDispatcher<MessageIdType, MessageBase, MessageHandler>::RegisterHandler(MessageIdType a_MessageType, MessageHandler* a_Handler) {
assert(a_Handler);
auto found = std::find(m_Handlers[a_MessageType].begin(), m_Handlers[a_MessageType].end(), a_Handler); auto found = std::find(m_Handlers[a_MessageType].begin(), m_Handlers[a_MessageType].end(), a_Handler);
if (found == m_Handlers[a_MessageType].end()) if (found == m_Handlers[a_MessageType].end())
m_Handlers[a_MessageType].push_back(a_Handler); m_Handlers[a_MessageType].push_back(a_Handler);
@@ -30,7 +31,6 @@ template <typename MessageIdType, typename MessageBase, typename MessageHandler>
void MessageDispatcher<MessageIdType, MessageBase, MessageHandler>::Dispatch(const MessageBase& a_Message) { void MessageDispatcher<MessageIdType, MessageBase, MessageHandler>::Dispatch(const MessageBase& a_Message) {
MessageIdType type = a_Message.GetId(); MessageIdType type = a_Message.GetId();
for (auto& handler : m_Handlers[type]) { for (auto& handler : m_Handlers[type]) {
if (handler)
a_Message.Dispatch(*handler); a_Message.Dispatch(*handler);
} }
} }