aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorChristopher Page2008-08-13 20:27:39 +0000
committerChristopher Page2008-08-13 20:27:39 +0000
commit2d31207a8169491647d8fa3baab7eadbfdfa1da9 (patch)
tree5b59af197cdb4caf0510343f173dbc5a54dfeaf1 /engines
parentc9e0422722eadeabdd0fd0dfe8591f90a3f00e89 (diff)
downloadscummvm-rg350-2d31207a8169491647d8fa3baab7eadbfdfa1da9.tar.gz
scummvm-rg350-2d31207a8169491647d8fa3baab7eadbfdfa1da9.tar.bz2
scummvm-rg350-2d31207a8169491647d8fa3baab7eadbfdfa1da9.zip
Fixed some memory leaks
svn-id: r33846
Diffstat (limited to 'engines')
-rw-r--r--engines/kyra/kyra_lok.cpp4
-rw-r--r--engines/kyra/staticres.cpp1
-rw-r--r--engines/sky/control.cpp12
-rw-r--r--engines/sky/intro.cpp3
-rw-r--r--engines/sky/sky.cpp3
5 files changed, 16 insertions, 7 deletions
diff --git a/engines/kyra/kyra_lok.cpp b/engines/kyra/kyra_lok.cpp
index afd164958c..2ce8af4a81 100644
--- a/engines/kyra/kyra_lok.cpp
+++ b/engines/kyra/kyra_lok.cpp
@@ -118,8 +118,12 @@ KyraEngine_LoK::~KyraEngine_LoK() {
delete[] _characterList;
+ delete[] _roomTable;
+
delete[] _movFacingTable;
+ delete[] _defaultShapeTable;
+
delete[] _gui->_scrollUpButton.data0ShapePtr;
delete[] _gui->_scrollUpButton.data1ShapePtr;
delete[] _gui->_scrollUpButton.data2ShapePtr;
diff --git a/engines/kyra/staticres.cpp b/engines/kyra/staticres.cpp
index bb63c24c36..5c0e05f23d 100644
--- a/engines/kyra/staticres.cpp
+++ b/engines/kyra/staticres.cpp
@@ -920,6 +920,7 @@ void StaticResource::freePaletteTable(void *&ptr, int &size) {
uint8 **data = (uint8**)ptr;
while (size--)
delete[] data[size];
+ delete[] data;
ptr = 0;
size = 0;
}
diff --git a/engines/sky/control.cpp b/engines/sky/control.cpp
index 3edc087f57..8699c893e4 100644
--- a/engines/sky/control.cpp
+++ b/engines/sky/control.cpp
@@ -238,13 +238,17 @@ void Control::removePanel(void) {
free(_sprites.slide2); free(_sprites.slode);
free(_sprites.slode2); free(_sprites.musicBodge);
delete _controlPanel; delete _exitButton;
- delete _slide; delete _slide2;
- delete _slode; delete _restorePanButton;
+ delete _slide; delete _slide2;
+ delete _slode; delete _restorePanButton;
+ delete _savePanel; delete _saveButton;
+ delete _downFastButton; delete _downSlowButton;
+ delete _upFastButton; delete _upSlowButton;
+ delete _quitButton; delete _autoSaveButton;
delete _savePanButton; delete _dosPanButton;
delete _restartPanButton; delete _fxPanButton;
delete _musicPanButton; delete _bodge;
- delete _yesNo; delete _text;
- delete _statusBar; delete _restoreButton;
+ delete _yesNo; delete _text;
+ delete _statusBar; delete _restoreButton;
if (_textSprite) {
free(_textSprite);
diff --git a/engines/sky/intro.cpp b/engines/sky/intro.cpp
index d7a94f6c2f..86e26309c9 100644
--- a/engines/sky/intro.cpp
+++ b/engines/sky/intro.cpp
@@ -640,9 +640,6 @@ Intro::Intro(Disk *disk, Screen *screen, MusicBase *music, Sound *sound, Text *t
}
Intro::~Intro(void) {
-
- _mixer->stopAll();
- _skyScreen->stopSequence();
if (_textBuf)
free(_textBuf);
if (_saveBuf)
diff --git a/engines/sky/sky.cpp b/engines/sky/sky.cpp
index 44347cf9a7..bcdc9f5130 100644
--- a/engines/sky/sky.cpp
+++ b/engines/sky/sky.cpp
@@ -277,6 +277,8 @@ SkyEngine::~SkyEngine() {
delete _skyDisk;
delete _skyControl;
delete _skyCompact;
+ if (_skyIntro)
+ delete _skyIntro;
for (int i = 0; i < 300; i++)
if (_itemList[i])
@@ -473,6 +475,7 @@ int SkyEngine::init() {
_systemVars.systemFlags |= SF_PLAY_VOCS;
_systemVars.gameSpeed = 50;
+ _skyIntro = 0;
_skyCompact = new SkyCompact();
_skyText = new Text(_skyDisk, _skyCompact);
_skyMouse = new Mouse(_system, _skyDisk, _skyCompact);