aboutsummaryrefslogtreecommitdiff
path: root/engines/lastexpress/game/entities.cpp
diff options
context:
space:
mode:
authorJulien Templier2010-11-15 15:48:20 +0000
committerJulien Templier2010-11-15 15:48:20 +0000
commit7d9c43d22b8a23c33b39b6f8995c45b10d9864ec (patch)
tree3a0cc0985758b6ee0f1792ad578f862b72f29489 /engines/lastexpress/game/entities.cpp
parenta4d9d0360155a8ddadd52d3bec60c7711a411d68 (diff)
downloadscummvm-rg350-7d9c43d22b8a23c33b39b6f8995c45b10d9864ec.tar.gz
scummvm-rg350-7d9c43d22b8a23c33b39b6f8995c45b10d9864ec.tar.bz2
scummvm-rg350-7d9c43d22b8a23c33b39b6f8995c45b10d9864ec.zip
LASTEXPRESS: Fix frame leak in Entities::processFrame()
When not keeping the previous frame, the current frame was overwritten. We now delete it before assigning a new value. svn-id: r54246
Diffstat (limited to 'engines/lastexpress/game/entities.cpp')
-rw-r--r--engines/lastexpress/game/entities.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/engines/lastexpress/game/entities.cpp b/engines/lastexpress/game/entities.cpp
index 8741a4873b..639470d502 100644
--- a/engines/lastexpress/game/entities.cpp
+++ b/engines/lastexpress/game/entities.cpp
@@ -1174,8 +1174,12 @@ void Entities::processFrame(EntityIndex entityIndex, bool keepPreviousFrame, boo
getScenes()->addToQueue(frame);
// Keep previous frame if needed and store the new frame
- if (keepPreviousFrame)
+ if (keepPreviousFrame) {
+ SAFE_DELETE(data->frame1);
data->frame1 = data->frame;
+ } else {
+ SAFE_DELETE(data->frame);
+ }
data->frame = frame;