aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/screen_eob.cpp
diff options
context:
space:
mode:
authorathrxx2011-09-29 22:51:36 +0200
committerJohannes Schickel2011-12-26 16:18:15 +0100
commit1cbd56693086afa8ce93092c3638e1052e31a5d9 (patch)
tree688d790cc5372ca9d2718ebc46c7a852bd6ac673 /engines/kyra/screen_eob.cpp
parentac1aa43ca8b2ad9f2743006a5e40a7967a40fec5 (diff)
downloadscummvm-rg350-1cbd56693086afa8ce93092c3638e1052e31a5d9.tar.gz
scummvm-rg350-1cbd56693086afa8ce93092c3638e1052e31a5d9.tar.bz2
scummvm-rg350-1cbd56693086afa8ce93092c3638e1052e31a5d9.zip
KYRA: (EOB) - fix invalid string access
(also fix several cpp-check warnings)
Diffstat (limited to 'engines/kyra/screen_eob.cpp')
-rw-r--r--engines/kyra/screen_eob.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/engines/kyra/screen_eob.cpp b/engines/kyra/screen_eob.cpp
index 8562e25480..0b877b7247 100644
--- a/engines/kyra/screen_eob.cpp
+++ b/engines/kyra/screen_eob.cpp
@@ -47,10 +47,18 @@ Screen_Eob::Screen_Eob(EobCoreEngine *vm, OSystem *system) : Screen(vm, system)
_customDimTable = 0;
_dsTempPage = 0;
_curDimIndex = 0;
+ _dsDiv = 0;
+ _dsRem = 0;
+ _dsScaleTmp = 0;
+ _gfxMaxY = 0;
}
Screen_Eob::~Screen_Eob() {
delete[] _fadeData;
+ if (_customDimTable) {
+ for (int i = 0; i < _screenDimTableCount; i++)
+ delete _customDimTable[i];
+ }
delete[] _customDimTable;
delete[] _dsTempPage;
}
@@ -58,7 +66,7 @@ Screen_Eob::~Screen_Eob() {
bool Screen_Eob::init() {
if (Screen::init()) {
_customDimTable = new ScreenDim*[_screenDimTableCount];
- memset(_customDimTable, 0, sizeof(ScreenDim *)* _screenDimTableCount);
+ memset(_customDimTable, 0, sizeof(ScreenDim*) * _screenDimTableCount);
int temp;
_gfxMaxY = _vm->staticres()->loadRawData(kEobBaseExpObjectY, temp);