summaryrefslogtreecommitdiff
path: root/src/koopatlas
diff options
context:
space:
mode:
authorTreeki <treeki@gmail.com>2012-02-18 01:17:10 +0100
committerTreeki <treeki@gmail.com>2012-02-18 01:17:10 +0100
commit147507afe4e4bf84a4fa7ab9bc32531f8e4e2289 (patch)
treef372f54b7d35171c43b901913a55358403604adb /src/koopatlas
parent5c351b910bd4f25a5fdc122d34c435bee28aa861 (diff)
downloadkamek-147507afe4e4bf84a4fa7ab9bc32531f8e4e2289.tar.gz
kamek-147507afe4e4bf84a4fa7ab9bc32531f8e4e2289.zip
fixed memory leaks
Diffstat (limited to 'src/koopatlas')
-rw-r--r--src/koopatlas/core.cpp2
-rw-r--r--src/koopatlas/mapdata.cpp11
2 files changed, 10 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() {