[Balder-cvs] SF.net SVN: balder: [74]
Status: Beta
Brought to you by:
holomorph
From: <hol...@us...> - 2007-10-24 05:16:55
|
Revision: 74 http://balder.svn.sourceforge.net/balder/?rev=74&view=rev Author: holomorph Date: 2007-10-23 22:16:55 -0700 (Tue, 23 Oct 2007) Log Message: ----------- more memory leak fixes Modified Paths: -------------- history.txt include/input.h src/input.cpp src/mapparser.cpp src/renderer.cpp src/soundmanager.cpp Modified: history.txt =================================================================== --- history.txt 2007-10-24 04:14:54 UTC (rev 73) +++ history.txt 2007-10-24 05:16:55 UTC (rev 74) @@ -4,6 +4,8 @@ History entries are in reverse chronological order (newest entries first). 23 Oct-2007 - Bjorn fixed a bunch of memory leaks in ArtificialCotroller::DoControl + - Bjorn fixed a few other minor leaks, but there are still many in + gamemanager (players, spawns, entities are not deleted) 11 Oct-2007 - Bjorn added an arg parser to filepathmanager and a method to get the full Modified: include/input.h =================================================================== --- include/input.h 2007-10-24 04:14:54 UTC (rev 73) +++ include/input.h 2007-10-24 05:16:55 UTC (rev 74) @@ -47,6 +47,7 @@ public: // contstructor Input(GameManager *gm, int num_players); + ~Input(); // checks the input state and pass it along to the game manager void CheckInput(); void SetPlayerInputController(player_id id, int controller_number); Modified: src/input.cpp =================================================================== --- src/input.cpp 2007-10-24 04:14:54 UTC (rev 73) +++ src/input.cpp 2007-10-24 05:16:55 UTC (rev 74) @@ -97,8 +97,7 @@ bool Input::keymapInitialized = false; // contstructor - Input::Input(GameManager* gm, int nplayers): - game_manager(gm), num_players(nplayers) +Input::Input(GameManager* gm, int nplayers):game_manager(gm), num_players(nplayers) { SDL_JoystickEventState(SDL_ENABLE); joystick = SDL_JoystickOpen(0); // joystick 0 @@ -106,6 +105,11 @@ BindKeys(); } +Input::~Input() +{ + delete[] controllers; +} + // checks the input state and pass it along to the game manager void Input::CheckInput() { Modified: src/mapparser.cpp =================================================================== --- src/mapparser.cpp 2007-10-24 04:14:54 UTC (rev 73) +++ src/mapparser.cpp 2007-10-24 05:16:55 UTC (rev 74) @@ -36,7 +36,9 @@ map_file->LoadFile(); } MapParser::~MapParser() -{} +{ + delete map_file; +} const char* MapParser::GetMapMusic() { Modified: src/renderer.cpp =================================================================== --- src/renderer.cpp 2007-10-24 04:14:54 UTC (rev 73) +++ src/renderer.cpp 2007-10-24 05:16:55 UTC (rev 74) @@ -30,7 +30,7 @@ std::map<std::string,SDL_Surface*> Renderer::sprite_registry; -Renderer::Renderer() +Renderer::Renderer(): background(0) { SetScreen(800, 600); fontImage = ImageLoader::LoadImage("SFont/scorefont.png"); @@ -40,6 +40,9 @@ Renderer::~Renderer() { + delete font; + delete fontImage; + if(background) delete background; screen = 0; } @@ -65,6 +68,7 @@ filename += mapname; filename += "/"; filename += "background.png"; + if (background) {delete background;} // so we don't leak the memory each time a new background is loaded background = ImageLoader::LoadImage(filename.c_str()); if (background == 0) { Modified: src/soundmanager.cpp =================================================================== --- src/soundmanager.cpp 2007-10-24 04:14:54 UTC (rev 73) +++ src/soundmanager.cpp 2007-10-24 05:16:55 UTC (rev 74) @@ -38,6 +38,7 @@ bool SoundManager::LoadSoundType(const char* name, const char* file) { + if(sound_registry.count(name)){return true;} // there is already a sound with that name loaded Mix_Chunk *sample = Mix_LoadWAV(file); if (0 == sample) { return false;} sound_registry[name] = sample; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |