[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