aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/statics.h
diff options
context:
space:
mode:
authorColin Snover2017-11-16 22:31:27 -0600
committerEugene Sandulenko2017-11-18 22:35:12 +0100
commita8b635e4cdac9a42d2c81517576bb970e5f9d06f (patch)
treeb5b26ab20111dec2db51ea2f6e9fb26718262ef2 /engines/fullpipe/statics.h
parentcef4d7787748fe8f0fae45d2573da4dfd4cc1c85 (diff)
downloadscummvm-rg350-a8b635e4cdac9a42d2c81517576bb970e5f9d06f.tar.gz
scummvm-rg350-a8b635e4cdac9a42d2c81517576bb970e5f9d06f.tar.bz2
scummvm-rg350-a8b635e4cdac9a42d2c81517576bb970e5f9d06f.zip
FULLPIPE: Fix leaks of DynamicPhases
I am not entirely sure this is a correct fix for these leaks; there is still the issue of the last member of _dynamicPhases being invalidated and not removed sometime before the destruction of Movement. Also, some of the items in this array are not actually owned by Movement so deleting them will cause double-frees or use-after-frees. It may be the case that a second list should be maintained instead containing only the objects that are created internally within Movement. Further testing will tell for sure.
Diffstat (limited to 'engines/fullpipe/statics.h')
-rw-r--r--engines/fullpipe/statics.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/engines/fullpipe/statics.h b/engines/fullpipe/statics.h
index fa893d6118..a30915316d 100644
--- a/engines/fullpipe/statics.h
+++ b/engines/fullpipe/statics.h
@@ -116,6 +116,7 @@ class Movement : public GameObject {
int _field_50;
int _counterMax;
int _counter;
+ /** a confusing mix of owned and unowned items */
Common::Array<DynamicPhase *> _dynamicPhases;
int _field_78;
PointList _framePosOffsets;