Fix and implement Destroy

This commit is contained in:
Christian Semmler 2023-10-20 14:35:23 -04:00
parent 1f65137eef
commit 4a59ea37a8
2 changed files with 18 additions and 6 deletions

View File

@ -1,4 +1,6 @@
#include "mxeventpresenter.h" #include "mxeventpresenter.h"
#include "mxeventmanager.h"
#include "mxomni.h"
#include "decomp.h" #include "decomp.h"
@ -19,11 +21,22 @@ MxEventPresenter::~MxEventPresenter()
// OFFSET: LEGO1 0x100c2da0 // OFFSET: LEGO1 0x100c2da0
void MxEventPresenter::Init() void MxEventPresenter::Init()
{ {
m_unk50 = 0; m_unk50 = NULL;
} }
// OFFSET: LEGO1 0x100c2de0 STUB // OFFSET: LEGO1 0x100c2de0
void MxEventPresenter::Destroy() void MxEventPresenter::Destroy()
{ {
// TODO MxEventManager *eventManager = EventManager();
if (eventManager)
EventManager()->RemovePresenter(*this);
m_criticalSection.Enter();
if (m_unk50)
delete m_unk50;
Init();
m_criticalSection.Leave();
} }

View File

@ -28,10 +28,9 @@ class MxEventPresenter : public MxMediaPresenter
private: private:
void Init(); void Init();
void Destroy(); virtual void Destroy() override;
undefined4 m_unk50;
undefined4 *m_unk50;
}; };
#endif // MXEVENTPRESENTER_H #endif // MXEVENTPRESENTER_H