aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/mult_v1.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/gob/mult_v1.cpp')
-rw-r--r--engines/gob/mult_v1.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/engines/gob/mult_v1.cpp b/engines/gob/mult_v1.cpp
index f0dc7410ef..7ceeee1787 100644
--- a/engines/gob/mult_v1.cpp
+++ b/engines/gob/mult_v1.cpp
@@ -244,12 +244,15 @@ void Mult_v1::playMult(int16 startFrame, int16 endFrame, char checkEscape,
_objCount = 4;
_objects = new Mult_Object[_objCount];
+ memset(_objects, 0, _objCount * sizeof(Mult_Object));
_renderData = new int16[9 * _objCount];
+ memset(_renderData, 0, _objCount * 9 * sizeof(int16));
_animArrayX = new int32[_objCount];
_animArrayY = new int32[_objCount];
_animArrayData = new Mult_AnimData[_objCount];
+ memset(_animArrayData, 0, _objCount * sizeof(Mult_AnimData));
for (_counter = 0; _counter < _objCount; _counter++) {
multObj = &_objects[_counter];
@@ -319,7 +322,7 @@ void Mult_v1::playMult(int16 startFrame, int16 endFrame, char checkEscape,
_frame++;
_vm->_util->waitEndFrame();
- } while (stop == 0 && stopNoClear == 0);
+ } while (stop == 0 && stopNoClear == 0 && !_vm->_quitRequested);
if (stopNoClear == 0) {
if (_animDataAllocated) {