diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/lab/resource.cpp | 3 | ||||
-rw-r--r-- | engines/lab/special.cpp | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/engines/lab/resource.cpp b/engines/lab/resource.cpp index 278222f85c..0e8c118637 100644 --- a/engines/lab/resource.cpp +++ b/engines/lab/resource.cpp @@ -158,6 +158,9 @@ bool Resource::readViews(uint16 roomNum) { } void Resource::freeViews(uint16 roomNum) { + if (!_vm->_rooms) + return; + for (uint16 i = 0; i < 4; i++) freeView(_vm->_rooms[roomNum]._view[i]); diff --git a/engines/lab/special.cpp b/engines/lab/special.cpp index 946277b8f0..32abde2cb0 100644 --- a/engines/lab/special.cpp +++ b/engines/lab/special.cpp @@ -284,6 +284,8 @@ void LabEngine::doJournal() { delete[] _blankJournal; delete[] _journalBackImage->_imageData; + _blankJournal = _journalBackImage->_imageData = nullptr; + _event->freeButtonList(&_journalButtonList); _graphics->closeFont(&_journalFont); |