diff options
author | Christopher Page | 2008-06-12 18:11:09 +0000 |
---|---|---|
committer | Christopher Page | 2008-06-12 18:11:09 +0000 |
commit | a596879c8ead93bc3dd8e812103d78819dd2a81a (patch) | |
tree | c58f863be3306dee8e5222e93dba4105c7851626 /engines/lure/sound.cpp | |
parent | dd423f803b43a0e6c54c3d7441c40cb7737d7867 (diff) | |
download | scummvm-rg350-a596879c8ead93bc3dd8e812103d78819dd2a81a.tar.gz scummvm-rg350-a596879c8ead93bc3dd8e812103d78819dd2a81a.tar.bz2 scummvm-rg350-a596879c8ead93bc3dd8e812103d78819dd2a81a.zip |
LURE: Fixed memory leaks in the LURE engine
svn-id: r32675
Diffstat (limited to 'engines/lure/sound.cpp')
-rw-r--r-- | engines/lure/sound.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/lure/sound.cpp b/engines/lure/sound.cpp index 839298d1c5..285f66e4e2 100644 --- a/engines/lure/sound.cpp +++ b/engines/lure/sound.cpp @@ -85,8 +85,10 @@ SoundManager::~SoundManager() { if (_soundData) delete _soundData; - if (_driver) + if (_driver) { _driver->close(); + delete _driver; + } _driver = NULL; g_system->deleteMutex(_soundMutex); @@ -143,7 +145,7 @@ void SoundManager::bellsBodge() { Room &room = Room::getReference(); RoomData *roomData = res.getRoom(room.roomNumber()); - if (roomData->areaFlag != res.fieldList().getField(AREA_FLAG)) { + if (roomData && roomData->areaFlag != res.fieldList().getField(AREA_FLAG)) { res.fieldList().setField(AREA_FLAG, roomData->areaFlag); switch (roomData->areaFlag) { |