[Scummvm-cvs-logs] SF.net SVN: scummvm:[55560] scummvm/trunk/engines/drascula
tdhs at users.sourceforge.net
tdhs at users.sourceforge.net
Thu Jan 27 08:58:58 CET 2011
Revision: 55560
http://scummvm.svn.sourceforge.net/scummvm/?rev=55560&view=rev
Author: tdhs
Date: 2011-01-27 07:58:57 +0000 (Thu, 27 Jan 2011)
Log Message:
-----------
DRASCULA: Fix Memory Leaks in Rooms Table.
Minor whitespace fixes as well.
Modified Paths:
--------------
scummvm/trunk/engines/drascula/drascula.cpp
scummvm/trunk/engines/drascula/drascula.h
scummvm/trunk/engines/drascula/rooms.cpp
Modified: scummvm/trunk/engines/drascula/drascula.cpp
===================================================================
--- scummvm/trunk/engines/drascula/drascula.cpp 2011-01-27 04:13:10 UTC (rev 55559)
+++ scummvm/trunk/engines/drascula/drascula.cpp 2011-01-27 07:58:57 UTC (rev 55560)
@@ -59,7 +59,6 @@
};
DrasculaEngine::DrasculaEngine(OSystem *syst, const DrasculaGameDescription *gameDesc) : Engine(syst), _gameDescription(gameDesc) {
-
_charMap = 0;
_itemLocations = 0;
_polX = 0;
@@ -101,6 +100,8 @@
_rnd = new Common::RandomSource();
g_eventRec.registerRandomSource(*_rnd, "drascula");
+ _console = 0;
+
int cd_num = ConfMan.getInt("cdrom");
if (cd_num >= 0)
_system->getAudioCDManager()->openCD(cd_num);
Modified: scummvm/trunk/engines/drascula/drascula.h
===================================================================
--- scummvm/trunk/engines/drascula/drascula.h 2011-01-27 04:13:10 UTC (rev 55559)
+++ scummvm/trunk/engines/drascula/drascula.h 2011-01-27 07:58:57 UTC (rev 55560)
@@ -265,7 +265,6 @@
private:
bool _fallBack;
-
};
class TextResourceParser {
Modified: scummvm/trunk/engines/drascula/rooms.cpp
===================================================================
--- scummvm/trunk/engines/drascula/rooms.cpp 2011-01-27 04:13:10 UTC (rev 55559)
+++ scummvm/trunk/engines/drascula/rooms.cpp 2011-01-27 07:58:57 UTC (rev 55560)
@@ -140,6 +140,18 @@
}
void DrasculaEngine::freeRoomsTable() {
+ for (uint32 i = 0; i < _roomHandlers->roomParsers.size(); i++)
+ delete _roomHandlers->roomParsers[i];
+ _roomHandlers->roomParsers.clear();
+
+ for (uint32 i = 0; i < _roomHandlers->roomPreupdaters.size(); i++)
+ delete _roomHandlers->roomPreupdaters[i];
+ _roomHandlers->roomPreupdaters.clear();
+
+ for (uint32 i = 0; i < _roomHandlers->roomUpdaters.size(); i++)
+ delete _roomHandlers->roomUpdaters[i];
+ _roomHandlers->roomUpdaters.clear();
+
delete _roomHandlers;
_roomHandlers = 0;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list