diff options
-rw-r--r-- | scumm/scummvm.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp index 8b7c78da99..0e3e6d6244 100644 --- a/scumm/scummvm.cpp +++ b/scumm/scummvm.cpp @@ -1450,8 +1450,11 @@ void Scumm::initRoomSubBlocks() { gdi._C64ObjectMode = true; } else if (_features & GF_OLD_BUNDLE) { _IM00_offs = READ_LE_UINT16(roomptr + 0x0A); - if (_version == 2) + if (_version == 2) { + if (_roomStrips != NULL) + free(_roomStrips); _roomStrips = gdi.generateStripTable(roomptr + _IM00_offs, _roomWidth, _roomHeight, _roomStrips); + } } else if (_features & GF_SMALL_HEADER) _IM00_offs = findResourceData(MKID('IM00'), roomptr) - roomptr; else if (_version == 8) { @@ -2144,6 +2147,9 @@ void Scumm::destroy() { free(_classData); free(_exe_name); free(_game_name); + + if (_version <= 2) + free(_roomStrips); } // |