CEditorMap m_Map
and m_Map.m_pEditor
was set magically to a editor object o.O ?and the construcor only calls cleanvoid CEditorMap::Clean()
{
for(int i = 0; i < m_lGroups.size(); i++)
{
m_lGroups[i]->m_lLayers.delete_all();
}
m_lGroups.delete_all();
m_lEnvelopes.delete_all();
m_lImages.delete_all();
m_lSounds.delete_all();
m_MapInfo.Reset();
m_lSettings.clear();
m_pGameLayer = 0x0;
m_pGameGroup = 0x0;
m_Modified = false;
m_pTeleLayer = 0x0;
m_pSpeedupLayer = 0x0;
m_pFrontLayer = 0x0;
m_pSwitchLayer = 0x0;
m_pTuneLayer = 0x0;
}
CEditorMap m_Map
and m_Map.m_pEditor
was set magically to a editor object o.O ?and the construcor only calls cleanvoid CEditorMap::Clean()
{
for(int i = 0; i < m_lGroups.size(); i++)
{
m_lGroups[i]->m_lLayers.delete_all();
}
m_lGroups.delete_all();
m_lEnvelopes.delete_all();
m_lImages.delete_all();
m_lSounds.delete_all();
m_MapInfo.Reset();
m_lSettings.clear();
m_pGameLayer = 0x0;
m_pGameGroup = 0x0;
m_Modified = false;
m_pTeleLayer = 0x0;
m_pSpeedupLayer = 0x0;
m_pFrontLayer = 0x0;
m_pSwitchLayer = 0x0;
m_pTuneLayer = 0x0;
}
m_pEditor
is set in CEditor::Init()
CEditorMap
and hasn't even initialized it there is no other conclusion to come to-pg
definitely lost: 21,422,992 bytes in 81 blocks
CGameContext
is a non trivial type, it has virtual functions, normally using virtual functions also implies using a virtual destructor. Calling the destructor of CGameContext
and then new on the pointer with the base class CGameContext
is just bad code