From 1cec867b95d9c100c03fae24c14a86c37eed9c24 Mon Sep 17 00:00:00 2001 From: "wagic.the.homebrew" Date: Sat, 29 Nov 2008 05:21:54 +0000 Subject: [PATCH] Erwan - Using SAFE_DELETE macro for simplemenu object, in the hope to find the heap corruption problem --- projects/mtg/include/GameStateMenu.h | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/projects/mtg/include/GameStateMenu.h b/projects/mtg/include/GameStateMenu.h index 80c988611..54cb66bde 100644 --- a/projects/mtg/include/GameStateMenu.h +++ b/projects/mtg/include/GameStateMenu.h @@ -135,18 +135,16 @@ class GameStateMenu: public GameState, public JGuiListener virtual void Destroy() { - if (mGuiController) - delete mGuiController; + + SAFE_DELETE(mGuiController); - if (subMenuController) - delete subMenuController; + SAFE_DELETE(subMenuController); - if (mIconsTexture) - delete mIconsTexture; + SAFE_DELETE(mIconsTexture); for (int i = 0; i < 10 ; i++){ - delete mIcons[i]; + SAFE_DELETE(mIcons[i]); } SAFE_DELETE(mBg); @@ -161,7 +159,7 @@ class GameStateMenu: public GameState, public JGuiListener virtual void Start(){ JRenderer::GetInstance()->ResetPrivateVRAM(); JRenderer::GetInstance()->EnableVSync(true); - +subMenuController = NULL; if (GameApp::HasMusic && !GameApp::music && GameOptions::GetInstance()->values[OPTIONS_MUSICVOLUME] > 0){ GameApp::music = JSoundSystem::GetInstance()->LoadMusic("sound/Track0.mp3"); @@ -266,7 +264,7 @@ class GameStateMenu: public GameState, public JGuiListener if (currentState == STATE_MENU && mGuiController!=NULL) mGuiController->Update(dt); if (currentState == STATE_SUBMENU){ - if( subMenuController != NULL){ + if( subMenuController){ subMenuController->Update(dt); }else{ @@ -390,7 +388,7 @@ class GameStateMenu: public GameState, public JGuiListener mFont->DrawString(nbcardsStr,10, SCREEN_HEIGHT-15); mFont->SetScale(1.f); mFont->SetColor(ARGB(255,255,255,255)); - if (currentState == STATE_SUBMENU && subMenuController != NULL){ + if (currentState == STATE_SUBMENU && subMenuController){ subMenuController->Render(); }