mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-21 19:51:49 +00:00
LASTEXPRESS: Use SAFE_DELETE for class variables
svn-id: r54201
This commit is contained in:
parent
7207d920bc
commit
521f228ced
@ -31,6 +31,7 @@
|
||||
#include "lastexpress/data/snd.h"
|
||||
|
||||
#include "lastexpress/debug.h"
|
||||
#include "lastexpress/helpers.h"
|
||||
|
||||
#include "common/events.h"
|
||||
#include "engines/engine.h"
|
||||
@ -45,21 +46,17 @@ Animation::~Animation() {
|
||||
}
|
||||
|
||||
void Animation::reset() {
|
||||
delete _overlay;
|
||||
_overlay = NULL;
|
||||
delete _background1;
|
||||
_background1 = NULL;
|
||||
delete _background2;
|
||||
_background2 = NULL;
|
||||
delete _audio;
|
||||
_audio = NULL;
|
||||
SAFE_DELETE(_overlay);
|
||||
SAFE_DELETE(_background1);
|
||||
SAFE_DELETE(_background2);
|
||||
SAFE_DELETE(_audio);
|
||||
|
||||
_backgroundCurrent = 0;
|
||||
_chunks.clear();
|
||||
|
||||
_currentChunk = NULL;
|
||||
|
||||
delete _stream;
|
||||
SAFE_DELETE(_stream);
|
||||
}
|
||||
|
||||
bool Animation::load(Common::SeekableReadStream *stream, int flag) {
|
||||
|
@ -100,7 +100,7 @@ Debugger::Debugger(LastExpressEngine *engine) : _engine(engine), _command(NULL),
|
||||
Debugger::~Debugger() {
|
||||
DebugMan.clearAllDebugChannels();
|
||||
|
||||
delete _soundStream;
|
||||
SAFE_DELETE(_soundStream);
|
||||
resetCommand();
|
||||
|
||||
_command = NULL;
|
||||
|
@ -154,7 +154,7 @@ Entity::~Entity() {
|
||||
|
||||
_callbacks.clear();
|
||||
|
||||
delete _data;
|
||||
SAFE_DELETE(_data);
|
||||
|
||||
// Zero-out passed pointers
|
||||
_engine = NULL;
|
||||
|
@ -30,6 +30,8 @@
|
||||
|
||||
#include "lastexpress/game/sound.h"
|
||||
|
||||
#include "lastexpress/helpers.h"
|
||||
|
||||
#include "common/array.h"
|
||||
#include "common/func.h"
|
||||
#include "common/serializer.h"
|
||||
@ -493,11 +495,8 @@ public:
|
||||
}
|
||||
|
||||
void clear() {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (parameters[i])
|
||||
delete parameters[i];
|
||||
parameters[i] = NULL;
|
||||
}
|
||||
for (int i = 0; i < 4; i++)
|
||||
SAFE_DELETE(parameters[i]);
|
||||
}
|
||||
|
||||
// Serializable
|
||||
|
@ -383,7 +383,9 @@ Action::Action(LastExpressEngine *engine) : _engine(engine) {
|
||||
|
||||
Action::~Action() {
|
||||
for (int i = 0; i < (int)_actions.size(); i++)
|
||||
delete _actions[i];
|
||||
SAFE_DELETE(_actions[i]);
|
||||
|
||||
_actions.clear();
|
||||
|
||||
// Zero-out passed pointers
|
||||
_engine = NULL;
|
||||
|
@ -28,6 +28,8 @@
|
||||
|
||||
#include "lastexpress/data/sequence.h"
|
||||
|
||||
#include "lastexpress/helpers.h"
|
||||
|
||||
#include "common/array.h"
|
||||
#include "common/system.h"
|
||||
|
||||
@ -98,8 +100,9 @@ private:
|
||||
|
||||
~BeetleData() {
|
||||
for (int i = 0; i < (int)sequences.size(); i++)
|
||||
if (sequences[i])
|
||||
delete sequences[i];
|
||||
SAFE_DELETE(sequences[i]);
|
||||
|
||||
sequences.clear();
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -185,10 +185,12 @@ Entities::Entities(LastExpressEngine *engine) : _engine(engine) {
|
||||
}
|
||||
|
||||
Entities::~Entities() {
|
||||
delete _header;
|
||||
SAFE_DELETE(_header);
|
||||
|
||||
for (int i = 0; i < (int)_entities.size(); i++)
|
||||
delete _entities[i];
|
||||
SAFE_DELETE(_entities[i]);
|
||||
|
||||
_entities.clear();
|
||||
|
||||
// Zero passed pointers
|
||||
_engine = NULL;
|
||||
|
@ -325,11 +325,10 @@ void Fight::clearData() {
|
||||
clearSequences(_data->player);
|
||||
clearSequences(_data->opponent);
|
||||
|
||||
delete _data->player;
|
||||
delete _data->opponent;
|
||||
SAFE_DELETE(_data->player);
|
||||
SAFE_DELETE(_data->opponent);
|
||||
|
||||
delete _data;
|
||||
_data = NULL;
|
||||
SAFE_DELETE(_data);
|
||||
|
||||
_engine->restoreEventHandlers();
|
||||
}
|
||||
@ -343,7 +342,7 @@ void Fight::clearSequences(Fighter *combatant) const {
|
||||
|
||||
// Free sequences
|
||||
for (int i = 0; i < (int)combatant->sequences.size(); i++)
|
||||
delete combatant->sequences[i];
|
||||
SAFE_DELETE(combatant->sequences[i]);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
@ -72,12 +72,12 @@ Logic::Logic(LastExpressEngine *engine) : _engine(engine) {
|
||||
}
|
||||
|
||||
Logic::~Logic() {
|
||||
delete _action;
|
||||
delete _beetle;
|
||||
delete _fight;
|
||||
delete _entities;
|
||||
delete _saveload;
|
||||
delete _state;
|
||||
SAFE_DELETE(_action);
|
||||
SAFE_DELETE(_beetle);
|
||||
SAFE_DELETE(_fight);
|
||||
SAFE_DELETE(_entities);
|
||||
SAFE_DELETE(_saveload);
|
||||
SAFE_DELETE(_state);
|
||||
|
||||
// Zero-out passed pointers
|
||||
_engine = NULL;
|
||||
|
@ -204,10 +204,10 @@ Clock::Clock(LastExpressEngine *engine) : _engine(engine), _frameMinutes(NULL),
|
||||
}
|
||||
|
||||
Clock::~Clock() {
|
||||
delete _frameMinutes;
|
||||
delete _frameHour;
|
||||
delete _frameSun;
|
||||
delete _frameDate;
|
||||
SAFE_DELETE(_frameMinutes);
|
||||
SAFE_DELETE(_frameHour);
|
||||
SAFE_DELETE(_frameSun);
|
||||
SAFE_DELETE(_frameDate);
|
||||
|
||||
// Zero passed pointers
|
||||
_engine = NULL;
|
||||
@ -291,8 +291,8 @@ TrainLine::TrainLine(LastExpressEngine *engine) : _engine(engine), _frameLine1(N
|
||||
}
|
||||
|
||||
TrainLine::~TrainLine() {
|
||||
delete _frameLine1;
|
||||
delete _frameLine2;
|
||||
SAFE_DELETE(_frameLine1);
|
||||
SAFE_DELETE(_frameLine2);
|
||||
|
||||
// Zero passed pointers
|
||||
_engine = NULL;
|
||||
@ -369,8 +369,8 @@ Menu::Menu(LastExpressEngine *engine) : _engine(engine),
|
||||
}
|
||||
|
||||
Menu::~Menu() {
|
||||
delete _clock;
|
||||
delete _trainLine;
|
||||
SAFE_DELETE(_clock);
|
||||
SAFE_DELETE(_trainLine);
|
||||
|
||||
SAFE_DELETE(_seqTooltips);
|
||||
SAFE_DELETE(_seqEggButtons);
|
||||
|
@ -51,8 +51,6 @@ SceneManager::SceneManager(LastExpressEngine *engine) : _engine(engine),
|
||||
}
|
||||
|
||||
SceneManager::~SceneManager() {
|
||||
delete _sceneLoader;
|
||||
|
||||
// Clear frames
|
||||
for (Common::List<SequenceFrame *>::iterator door = _doors.begin(); door != _doors.end(); ++door)
|
||||
SAFE_DELETE(*door);
|
||||
@ -63,8 +61,9 @@ SceneManager::~SceneManager() {
|
||||
SAFE_DELETE(_clockMinutes);
|
||||
|
||||
// Clear frame queue
|
||||
for (Common::List<SequenceFrame *>::iterator i = _queue.begin(); i != _queue.end(); ++i)
|
||||
SAFE_DELETE(*i);
|
||||
_queue.clear();
|
||||
|
||||
SAFE_DELETE(_sceneLoader);
|
||||
|
||||
// Zero-out passed pointers
|
||||
_engine = NULL;
|
||||
|
@ -118,9 +118,12 @@ SoundManager::SoundManager(LastExpressEngine *engine) : _engine(engine), _state(
|
||||
}
|
||||
|
||||
SoundManager::~SoundManager() {
|
||||
for (Common::List<SoundEntry *>::iterator i = _cache.begin(); i != _cache.end(); ++i)
|
||||
SAFE_DELETE(*i);
|
||||
|
||||
_cache.clear();
|
||||
|
||||
delete _soundStream;
|
||||
SAFE_DELETE(_soundStream);
|
||||
|
||||
// Zero passed pointers
|
||||
_engine = NULL;
|
||||
@ -134,6 +137,7 @@ void SoundManager::handleTimer() {
|
||||
for (Common::List<SoundEntry *>::iterator i = _cache.begin(); i != _cache.end(); ++i) {
|
||||
SoundEntry *entry = (*i);
|
||||
if (entry->stream == NULL) {
|
||||
SAFE_DELETE(*i);
|
||||
i = _cache.reverse_erase(i);
|
||||
continue;
|
||||
} else if (!entry->isStreamed) {
|
||||
@ -191,7 +195,7 @@ void SoundManager::clearQueue() {
|
||||
|
||||
// Delete entry
|
||||
removeEntry(entry);
|
||||
delete entry;
|
||||
SAFE_DELETE(entry);
|
||||
|
||||
i = _cache.reverse_erase(i);
|
||||
}
|
||||
|
@ -71,6 +71,8 @@
|
||||
|
||||
#include "lastexpress/shared.h"
|
||||
|
||||
#include "lastexpress/helpers.h"
|
||||
|
||||
#include "common/list.h"
|
||||
#include "common/system.h"
|
||||
#include "common/serializer.h"
|
||||
@ -286,7 +288,10 @@ private:
|
||||
}
|
||||
|
||||
~SoundEntry() {
|
||||
delete stream;
|
||||
// Entries that have been queued would have their streamed disposed automatically
|
||||
if (!isStreamed)
|
||||
SAFE_DELETE(stream);
|
||||
|
||||
//delete subtitle;
|
||||
}
|
||||
};
|
||||
|
@ -42,11 +42,11 @@ State::State(LastExpressEngine *engine) : _engine(engine), _timer(0) {
|
||||
}
|
||||
|
||||
State::~State() {
|
||||
delete _inventory;
|
||||
delete _objects;
|
||||
delete _savepoints;
|
||||
delete _state;
|
||||
delete _flags;
|
||||
SAFE_DELETE(_inventory);
|
||||
SAFE_DELETE(_objects);
|
||||
SAFE_DELETE(_savepoints);
|
||||
SAFE_DELETE(_state);
|
||||
SAFE_DELETE(_flags);
|
||||
|
||||
// Zero passed pointers
|
||||
_engine = NULL;
|
||||
|
@ -55,7 +55,7 @@ LastExpressEngine::LastExpressEngine(OSystem *syst, const ADGameDescription *gd)
|
||||
Engine(syst), _gameDescription(gd), _debugger(NULL), _cursor(NULL),
|
||||
_font(NULL), _logic(NULL), _menu(NULL), _frameCounter(0), _lastFrameCount(0),
|
||||
_graphicsMan(NULL), _resMan(NULL), _sceneMan(NULL), _soundMan(NULL),
|
||||
eventMouse(NULL), eventTick(NULL), eventMouseBackup(NULL), eventTickBackup(NULL) {
|
||||
_eventMouse(NULL), _eventTick(NULL), _eventMouseBackup(NULL), _eventTickBackup(NULL) {
|
||||
|
||||
// Adding the default directories
|
||||
const Common::FSNode gameDataDir(ConfMan.get("path"));
|
||||
@ -80,21 +80,21 @@ LastExpressEngine::~LastExpressEngine() {
|
||||
_timer->removeTimerProc(&soundTimer);
|
||||
|
||||
// Delete the remaining objects
|
||||
delete _cursor;
|
||||
delete _font;
|
||||
delete _logic;
|
||||
delete _menu;
|
||||
delete _graphicsMan;
|
||||
delete _resMan;
|
||||
delete _sceneMan;
|
||||
delete _soundMan;
|
||||
delete _debugger;
|
||||
SAFE_DELETE(_cursor);
|
||||
SAFE_DELETE(_font);
|
||||
SAFE_DELETE(_logic);
|
||||
SAFE_DELETE(_menu);
|
||||
SAFE_DELETE(_graphicsMan);
|
||||
SAFE_DELETE(_resMan);
|
||||
SAFE_DELETE(_sceneMan);
|
||||
SAFE_DELETE(_soundMan);
|
||||
SAFE_DELETE(_debugger);
|
||||
|
||||
// Cleanup event handlers
|
||||
SAFE_DELETE(eventMouse);
|
||||
SAFE_DELETE(eventTick);
|
||||
SAFE_DELETE(eventMouseBackup);
|
||||
SAFE_DELETE(eventTickBackup);
|
||||
SAFE_DELETE(_eventMouse);
|
||||
SAFE_DELETE(_eventTick);
|
||||
SAFE_DELETE(_eventMouseBackup);
|
||||
SAFE_DELETE(_eventTickBackup);
|
||||
|
||||
// Zero passed pointers
|
||||
_gameDescription = NULL;
|
||||
@ -218,19 +218,19 @@ bool LastExpressEngine::handleEvents() {
|
||||
getGameLogic()->getGameState()->getGameFlags()->frameInterval = true;
|
||||
_lastFrameCount = _frameCounter;
|
||||
|
||||
if (eventMouse && eventMouse->isValid())
|
||||
(*eventMouse)(ev);
|
||||
if (_eventMouse && _eventMouse->isValid())
|
||||
(*_eventMouse)(ev);
|
||||
break;
|
||||
|
||||
case Common::EVENT_RBUTTONUP:
|
||||
getGameLogic()->getGameState()->getGameFlags()->mouseRightClick = true;
|
||||
if (eventMouse && eventMouse->isValid())
|
||||
(*eventMouse)(ev);
|
||||
if (_eventMouse && _eventMouse->isValid())
|
||||
(*_eventMouse)(ev);
|
||||
break;
|
||||
|
||||
case Common::EVENT_MOUSEMOVE:
|
||||
if (eventMouse && eventMouse->isValid())
|
||||
(*eventMouse)(ev);
|
||||
if (_eventMouse && _eventMouse->isValid())
|
||||
(*_eventMouse)(ev);
|
||||
break;
|
||||
|
||||
case Common::EVENT_QUIT:
|
||||
@ -243,8 +243,8 @@ bool LastExpressEngine::handleEvents() {
|
||||
}
|
||||
|
||||
// Game tick event
|
||||
if (eventTick && eventTick->isValid())
|
||||
(*eventTick)(ev);
|
||||
if (_eventTick && _eventTick->isValid())
|
||||
(*_eventTick)(ev);
|
||||
|
||||
// Update the screen
|
||||
_graphicsMan->update();
|
||||
@ -279,25 +279,25 @@ void LastExpressEngine::handleSoundTimer() {
|
||||
/// Event Handling
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
void LastExpressEngine::backupEventHandlers() {
|
||||
eventMouseBackup = eventMouse;
|
||||
eventTickBackup = eventTick;
|
||||
_eventMouseBackup = _eventMouse;
|
||||
_eventTickBackup = _eventTick;
|
||||
}
|
||||
|
||||
void LastExpressEngine::restoreEventHandlers() {
|
||||
if (eventMouseBackup == NULL || eventTickBackup == NULL)
|
||||
if (_eventMouseBackup == NULL || _eventTickBackup == NULL)
|
||||
error("LastExpressEngine::restoreEventHandlers: restore called before backing up the event handlers!");
|
||||
|
||||
eventMouse = eventMouseBackup;
|
||||
eventTick = eventTickBackup;
|
||||
_eventMouse = _eventMouseBackup;
|
||||
_eventTick = _eventTickBackup;
|
||||
}
|
||||
|
||||
void LastExpressEngine::setEventHandlers(EventHandler::EventFunction *mouse, EventHandler::EventFunction *tick) {
|
||||
// Cleanup previous event handlers
|
||||
delete eventMouse;
|
||||
delete eventTick;
|
||||
delete _eventMouse;
|
||||
delete _eventTick;
|
||||
|
||||
eventMouse = mouse;
|
||||
eventTick = tick;
|
||||
_eventMouse = mouse;
|
||||
_eventTick = tick;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -141,11 +141,11 @@ private:
|
||||
SoundManager *_soundMan;
|
||||
|
||||
// Event handlers
|
||||
EventHandler::EventFunction *eventMouse;
|
||||
EventHandler::EventFunction *eventTick;
|
||||
EventHandler::EventFunction *_eventMouse;
|
||||
EventHandler::EventFunction *_eventTick;
|
||||
|
||||
EventHandler::EventFunction *eventMouseBackup;
|
||||
EventHandler::EventFunction *eventTickBackup;
|
||||
EventHandler::EventFunction *_eventMouseBackup;
|
||||
EventHandler::EventFunction *_eventTickBackup;
|
||||
};
|
||||
|
||||
} // End of namespace LastExpress
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include "lastexpress/data/font.h"
|
||||
|
||||
#include "lastexpress/debug.h"
|
||||
#include "lastexpress/helpers.h"
|
||||
|
||||
#include "common/debug.h"
|
||||
#include "common/file.h"
|
||||
@ -107,7 +108,7 @@ bool ResourceManager::loadArchive(ArchiveIndex type) {
|
||||
void ResourceManager::reset() {
|
||||
// Free the loaded archives
|
||||
for (Common::Array<HPFArchive *>::iterator it = _archives.begin(); it != _archives.end(); ++it)
|
||||
delete (*it);
|
||||
SAFE_DELETE(*it);
|
||||
|
||||
_archives.clear();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user