From 157f050f897aa2865ae2e0993a44444a89aa88aa Mon Sep 17 00:00:00 2001 From: Scott Ehlert Date: Tue, 27 Jan 2009 13:41:57 -0600 Subject: [PATCH] Fixed a memory leak when game events were hooked as EventHookMode_Post (no bug, r=me). The duplicated event data that was being carried over to the IGameEventManager2::FireEvent post hook was not being freed. EventHookMode_Post is the default so this leak could have happened fairly often. --- core/EventManager.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/EventManager.cpp b/core/EventManager.cpp index d98514f4..0806047f 100644 --- a/core/EventManager.cpp +++ b/core/EventManager.cpp @@ -424,10 +424,11 @@ bool EventManager::OnFireEvent_Post(IGameEvent *pEvent, bool bDontBroadcast) if (sm_trie_retrieve(m_EventHooks, name, reinterpret_cast(&pHook))) { pForward = pHook->pPostHook; + pEventCopy = pHook->pEventCopy; if (pForward) { - EventInfo info = { pHook->pEventCopy, NULL }; + EventInfo info = { pEventCopy, NULL }; if (pHook->postCopy) {