fix a few more memory errors

This commit is contained in:
jacob1 2013-02-24 22:09:33 -05:00
parent 27ac5ab75d
commit 572d099e29
4 changed files with 11 additions and 13 deletions

View File

@ -183,6 +183,10 @@ GameModel::~GameModel()
{ {
delete *iter; delete *iter;
} }
for(std::vector<Notification*>::iterator iter = notifications.begin(); iter != notifications.end(); ++iter)
{
delete *iter;
}
delete sim; delete sim;
delete ren; delete ren;
if(placeSave) if(placeSave)

View File

@ -116,16 +116,16 @@ int Engine::CloseWindow()
{ {
if(!windows.empty()) if(!windows.empty())
{ {
if (lastBuffer)
{
free(lastBuffer);
lastBuffer = NULL;
}
if(!prevBuffers.empty()) if(!prevBuffers.empty())
{ {
lastBuffer = prevBuffers.top(); lastBuffer = prevBuffers.top();
prevBuffers.pop(); prevBuffers.pop();
} }
else
{
free(lastBuffer);
lastBuffer = NULL;
}
state_ = windows.top(); state_ = windows.top();
windows.pop(); windows.pop();

View File

@ -88,8 +88,6 @@ void SearchController::Exit()
} }
if(callback) if(callback)
callback->ControllerExit(); callback->ControllerExit();
delete callback;
callback = NULL;
//HasExited = true; //HasExited = true;
} }

View File

@ -4918,12 +4918,8 @@ Simulation::Simulation():
memcpy(gmenu, golMenuT, sizeof(gol_menu) * golMenuCount); memcpy(gmenu, golMenuT, sizeof(gol_menu) * golMenuCount);
free(golMenuT); free(golMenuT);
Element_STKM::STKM_init_legs(this, &player, 0); player.comm = 0;
player.spwn = 1; player2.comm = 0;
player.elem = PT_DUST;
Element_STKM::STKM_init_legs(this, &player2, 0);
player2.spwn = 1;
player2.elem = PT_DUST;
init_can_move(); init_can_move();
clear_sim(); clear_sim();