aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStrangerke2015-12-22 00:12:12 +0100
committerWillem Jan Palenstijn2015-12-23 21:35:34 +0100
commit26c48305b58b054bc81c1de37b7af9e79eb231bf (patch)
treeb6316ccd658957999c5b38ff50b512b578106f22
parente88d09d2ecff4cdfae2cb07b96afd46efbbf98c5 (diff)
downloadscummvm-rg350-26c48305b58b054bc81c1de37b7af9e79eb231bf.tar.gz
scummvm-rg350-26c48305b58b054bc81c1de37b7af9e79eb231bf.tar.bz2
scummvm-rg350-26c48305b58b054bc81c1de37b7af9e79eb231bf.zip
LAB: Add a couple of safeguards
-rw-r--r--engines/lab/resource.cpp3
-rw-r--r--engines/lab/special.cpp2
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);