aboutsummaryrefslogtreecommitdiff
path: root/engines/drascula/rooms.cpp
diff options
context:
space:
mode:
authorThierry Crozat2011-04-24 14:33:20 +0100
committerThierry Crozat2011-04-24 14:39:50 +0100
commitc2eb927ab351b5133fe641c83108e774a4c879bb (patch)
tree8c85ead8bc8002ac14da4053a098629538099c9b /engines/drascula/rooms.cpp
parent0f2eaf848fde4832dc52f7ffdd73930073822a01 (diff)
downloadscummvm-rg350-c2eb927ab351b5133fe641c83108e774a4c879bb.tar.gz
scummvm-rg350-c2eb927ab351b5133fe641c83108e774a4c879bb.tar.bz2
scummvm-rg350-c2eb927ab351b5133fe641c83108e774a4c879bb.zip
DRASCULA: Avoid crash in engine destructor after it failed to start.
This happens for example if the drascula.dat file is not found.
Diffstat (limited to 'engines/drascula/rooms.cpp')
-rw-r--r--engines/drascula/rooms.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/engines/drascula/rooms.cpp b/engines/drascula/rooms.cpp
index 7744374518..d6774cbc65 100644
--- a/engines/drascula/rooms.cpp
+++ b/engines/drascula/rooms.cpp
@@ -140,6 +140,9 @@ void DrasculaEngine::setupRoomsTable() {
}
void DrasculaEngine::freeRoomsTable() {
+ if (_roomHandlers == 0)
+ return;
+
for (uint32 i = 0; i < _roomHandlers->roomParsers.size(); i++)
delete _roomHandlers->roomParsers[i];
_roomHandlers->roomParsers.clear();