diff options
author | Sven Hesse | 2006-05-31 08:44:14 +0000 |
---|---|---|
committer | Sven Hesse | 2006-05-31 08:44:14 +0000 |
commit | 05499f58dd2e79cae46bd4f250df946261bdac35 (patch) | |
tree | 20e9ab41a9e9039a85edc9ab891587f7b55a9534 /engines/gob/inter_v1.cpp | |
parent | 321acd2740936efeb85eb5b771cbfc86a3545e9b (diff) | |
download | scummvm-rg350-05499f58dd2e79cae46bd4f250df946261bdac35.tar.gz scummvm-rg350-05499f58dd2e79cae46bd4f250df946261bdac35.tar.bz2 scummvm-rg350-05499f58dd2e79cae46bd4f250df946261bdac35.zip |
- Removed usage of OSystem::quit(), added a _quitRequested variable
- Fixed some leaks, unitialized memory and delete/delete[]-errors
svn-id: r22790
Diffstat (limited to 'engines/gob/inter_v1.cpp')
-rw-r--r-- | engines/gob/inter_v1.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/gob/inter_v1.cpp b/engines/gob/inter_v1.cpp index 96e91b6559..45ed7f8814 100644 --- a/engines/gob/inter_v1.cpp +++ b/engines/gob/inter_v1.cpp @@ -1421,7 +1421,7 @@ bool Inter_v1::o1_repeatUntil(char &cmdCount, int16 &counter, int16 &retFlag) { funcBlock(1); _vm->_global->_inter_execPtr = blockPtr + size + 1; flag = evalBoolResult(); - } while (flag == 0 && !_breakFlag && !_terminate); + } while (flag == 0 && !_breakFlag && !_terminate && !_vm->_quitRequested); _nestLevel[0]--; @@ -1457,7 +1457,7 @@ bool Inter_v1::o1_whileDo(char &cmdCount, int16 &counter, int16 &retFlag) { _vm->_global->_inter_execPtr += size; } - if (_breakFlag || _terminate) { + if (_breakFlag || _terminate || _vm->_quitRequested) { _vm->_global->_inter_execPtr = blockPtr; _vm->_global->_inter_execPtr += size; break; @@ -1525,7 +1525,9 @@ void Inter_v1::o1_initMult(void) { if (_vm->_mult->_objects == 0) { _vm->_mult->_renderData = new int16[_vm->_mult->_objCount * 9]; + memset(_vm->_mult->_renderData, 0, _vm->_mult->_objCount * 9 * sizeof(int16)); _vm->_mult->_objects = new Mult::Mult_Object[_vm->_mult->_objCount]; + memset(_vm->_mult->_objects, 0, _vm->_mult->_objCount * sizeof(Mult::Mult_Object)); for (i = 0; i < _vm->_mult->_objCount; i++) { _vm->_mult->_objects[i].pPosX = (int32 *)(_vm->_global->_inter_variables + i * 4 + (posXVar / 4) * 4); |