diff options
-rw-r--r-- | engines/access/inventory.cpp | 5 | ||||
-rw-r--r-- | engines/access/room.cpp | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/engines/access/inventory.cpp b/engines/access/inventory.cpp index 45738462df..f2c87b2604 100644 --- a/engines/access/inventory.cpp +++ b/engines/access/inventory.cpp @@ -113,7 +113,7 @@ int InventoryManager::newDisplayInv() { _invModeFlag = true; _vm->_timers.saveTimers(); - if (room._tile && !_invRefreshFlag) { + if (!room._tile && !_invRefreshFlag) { saveScreens(); } @@ -360,6 +360,9 @@ void InventoryManager::restoreScreens() { _vm->_buffer1.w = _vm->_buffer1.pitch; _savedBuffer1.copyTo(&_vm->_buffer1); _savedScreen.copyTo(_vm->_screen); + + _savedBuffer1.free(); + _savedScreen.free(); } void InventoryManager::outlineIcon(int itemIndex) { diff --git a/engines/access/room.cpp b/engines/access/room.cpp index f1e499d1c9..e3a46159cf 100644 --- a/engines/access/room.cpp +++ b/engines/access/room.cpp @@ -163,6 +163,7 @@ void Room::clearRoom() { _vm->_scripts->freeScriptData(); _vm->freeCells(); freePlayField(); + freeTileData(); _vm->freeInactiveData(); _vm->_player->freeSprites(); } |