aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/cine/object.cpp8
-rw-r--r--engines/cine/object.h2
2 files changed, 3 insertions, 7 deletions
diff --git a/engines/cine/object.cpp b/engines/cine/object.cpp
index 2c68c214f0..f8af6ee28a 100644
--- a/engines/cine/object.cpp
+++ b/engines/cine/object.cpp
@@ -36,7 +36,7 @@
namespace Cine {
objectStruct objectTable[NUM_MAX_OBJECT];
-uint16 globalVars[NUM_MAX_OBJECTDATA];
+uint16 globalVars[NUM_MAX_OBJECTDATA + 1];
overlayHeadElement overlayHead;
void unloadAllMasks(void) {
@@ -151,11 +151,7 @@ int16 freeOverlay(uint16 objIdx, uint16 param) {
tempPtr2->previous = currentHeadPtr->previous;
- // FIXME: is this needed? It causes crashes in Windows in the drawOverlays function
- // (the currentOverlay pointer is incorrect)
- // Removing this fixes bug #1733238 - FW: crash in copier room
- // Also, it stops the game from crashing right after the introduction
- //free(currentHeadPtr);
+ free(currentHeadPtr);
return 0;
}
diff --git a/engines/cine/object.h b/engines/cine/object.h
index 7d4d492bf2..d7d4e145ff 100644
--- a/engines/cine/object.h
+++ b/engines/cine/object.h
@@ -53,7 +53,7 @@ struct overlayHeadElement {
#define NUM_MAX_OBJECTDATA 255
extern objectStruct objectTable[NUM_MAX_OBJECT];
-extern uint16 globalVars[NUM_MAX_OBJECTDATA];
+extern uint16 globalVars[NUM_MAX_OBJECTDATA + 1];
extern overlayHeadElement overlayHead;