diff options
author | Treeki <treeki@gmail.com> | 2012-02-18 01:17:10 +0100 |
---|---|---|
committer | Treeki <treeki@gmail.com> | 2012-02-18 01:17:10 +0100 |
commit | 147507afe4e4bf84a4fa7ab9bc32531f8e4e2289 (patch) | |
tree | f372f54b7d35171c43b901913a55358403604adb /src | |
parent | 5c351b910bd4f25a5fdc122d34c435bee28aa861 (diff) | |
download | kamek-147507afe4e4bf84a4fa7ab9bc32531f8e4e2289.tar.gz kamek-147507afe4e4bf84a4fa7ab9bc32531f8e4e2289.zip |
fixed memory leaks
Diffstat (limited to '')
-rw-r--r-- | src/koopatlas/core.cpp | 2 | ||||
-rw-r--r-- | src/koopatlas/mapdata.cpp | 11 | ||||
-rw-r--r-- | src/msgbox.cpp | 2 |
3 files changed, 12 insertions, 3 deletions
diff --git a/src/koopatlas/core.cpp b/src/koopatlas/core.cpp index 03b64dc..7eaa339 100644 --- a/src/koopatlas/core.cpp +++ b/src/koopatlas/core.cpp @@ -360,6 +360,8 @@ int dScKoopatlas_c::onDelete() { DVD_FreeFile(GetDVDClass2(), "SI_propeller"); DVD_FreeFile(GetDVDClass2(), "SI_star"); + levelInfoLoader.unload(); + return true; } diff --git a/src/koopatlas/mapdata.cpp b/src/koopatlas/mapdata.cpp index a6031b1..fb09f1b 100644 --- a/src/koopatlas/mapdata.cpp +++ b/src/koopatlas/mapdata.cpp @@ -34,9 +34,9 @@ dKPMapData_c::dKPMapData_c() { } dKPMapData_c::~dKPMapData_c() { - m_fileLoader.unload(); - unloadTilesets(); + + m_fileLoader.unload(); } bool dKPMapData_c::load(const char *filename) { @@ -81,8 +81,13 @@ bool dKPMapData_c::loadTilesets() { } void dKPMapData_c::unloadTilesets() { - if (tilesetLoaders != 0) + if (tilesetLoaders != 0) { + for (int i = 0; i < data->tilesetCount; i++) { + tilesetLoaders[i].unload(); + } + delete[] tilesetLoaders; + } } void dKPMapData_c::fixup() { diff --git a/src/msgbox.cpp b/src/msgbox.cpp index a576189..99dd8c6 100644 --- a/src/msgbox.cpp +++ b/src/msgbox.cpp @@ -119,6 +119,8 @@ int dMsgBoxManager_c::onDraw() { int dMsgBoxManager_c::onDelete() { instance = 0; + msgDataLoader.unload(); + return layout.free(); } |