[Scummvm-cvs-logs] CVS: scummvm/scumm scumm.cpp,1.709,1.710 sound.cpp,1.504,1.505 sprite_he.cpp,1.158,1.159 sprite_he.h,1.46,1.47
kirben
kirben at users.sourceforge.net
Thu Jan 26 22:06:00 CET 2006
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22424/scumm
Modified Files:
scumm.cpp sound.cpp sprite_he.cpp sprite_he.h
Log Message:
A
Fix memory leaks in HE games on exit.
Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.709
retrieving revision 1.710
diff -u -d -r1.709 -r1.710
--- scumm.cpp 26 Jan 2006 04:19:58 -0000 1.709
+++ scumm.cpp 27 Jan 2006 06:05:03 -0000 1.710
@@ -1670,6 +1670,9 @@
if (_heversion >= 98) {
delete _logicHE;
}
+ if (_heversion >= 99) {
+ free(_hePalettes);
+ }
}
#endif
Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sound.cpp,v
retrieving revision 1.504
retrieving revision 1.505
diff -u -d -r1.504 -r1.505
--- sound.cpp 23 Jan 2006 20:09:25 -0000 1.504
+++ sound.cpp 27 Jan 2006 06:05:03 -0000 1.505
@@ -88,6 +88,9 @@
Sound::~Sound() {
stopCDTimer();
delete _sfxFile;
+
+ // HE Specific
+ free(_heMusic);
}
void Sound::addSoundToQueue(int sound, int heOffset, int heChannel, int heFlags) {
Index: sprite_he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sprite_he.cpp,v
retrieving revision 1.158
retrieving revision 1.159
diff -u -d -r1.158 -r1.159
--- sprite_he.cpp 18 Jan 2006 17:39:47 -0000 1.158
+++ sprite_he.cpp 27 Jan 2006 06:05:03 -0000 1.159
@@ -36,6 +36,12 @@
Sprite::Sprite(ScummEngine_v90he *vm) : _vm(vm) {
}
+Sprite::~Sprite() {
+ free(_spriteGroups);
+ free(_spriteTable);
+ free(_activeSpritesTable);
+}
+
void ScummEngine_v90he::allocateArrays() {
ScummEngine::allocateArrays();
_sprite->allocTables(_numSprites, MAX(64, _numSprites / 4), 64);
Index: sprite_he.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sprite_he.h,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -d -r1.46 -r1.47
--- sprite_he.h 18 Jan 2006 17:39:47 -0000 1.46
+++ sprite_he.h 27 Jan 2006 06:05:03 -0000 1.47
@@ -102,6 +102,7 @@
class Sprite {
public:
Sprite(ScummEngine_v90he *vm);
+ virtual ~Sprite();
SpriteInfo *_spriteTable;
SpriteGroup *_spriteGroups;
More information about the Scummvm-git-logs
mailing list