[Scummvm-cvs-logs] SF.net SVN: scummvm:[35270] scummvm/trunk/engines/parallaction
peres001 at users.sourceforge.net
peres001 at users.sourceforge.net
Sun Dec 7 13:41:51 CET 2008
Revision: 35270
http://scummvm.svn.sourceforge.net/scummvm/?rev=35270&view=rev
Author: peres001
Date: 2008-12-07 12:41:50 +0000 (Sun, 07 Dec 2008)
Log Message:
-----------
Fixed assorted leaks in Parallaction.
Modified Paths:
--------------
scummvm/trunk/engines/parallaction/disk_br.cpp
scummvm/trunk/engines/parallaction/graphics.cpp
scummvm/trunk/engines/parallaction/inventory.cpp
scummvm/trunk/engines/parallaction/parallaction.h
scummvm/trunk/engines/parallaction/parallaction_br.cpp
scummvm/trunk/engines/parallaction/parallaction_ns.cpp
scummvm/trunk/engines/parallaction/parser.h
Modified: scummvm/trunk/engines/parallaction/disk_br.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/disk_br.cpp 2008-12-07 09:21:01 UTC (rev 35269)
+++ scummvm/trunk/engines/parallaction/disk_br.cpp 2008-12-07 12:41:50 UTC (rev 35270)
@@ -143,12 +143,11 @@
DosDisk_br::DosDisk_br(Parallaction* vm) : Disk_br(vm) {
}
-
void DosDisk_br::init() {
// TODO: clarify whether the engine or OSystem should add the base game directory to the search manager.
// Right now, I am keeping an internal search set to do the job.
_baseDir = new Common::FSDirectory(ConfMan.get("path"));
- _sset.add("base", _baseDir, 5, false);
+ _sset.add("base", _baseDir, 5, true);
}
Modified: scummvm/trunk/engines/parallaction/graphics.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/graphics.cpp 2008-12-07 09:21:01 UTC (rev 35269)
+++ scummvm/trunk/engines/parallaction/graphics.cpp 2008-12-07 12:41:50 UTC (rev 35270)
@@ -839,6 +839,8 @@
Gfx::~Gfx() {
+ _backBuffer.free();
+
delete _backgroundInfo;
freeLabels();
Modified: scummvm/trunk/engines/parallaction/inventory.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/inventory.cpp 2008-12-07 09:21:01 UTC (rev 35269)
+++ scummvm/trunk/engines/parallaction/inventory.cpp 2008-12-07 12:41:50 UTC (rev 35270)
@@ -180,7 +180,7 @@
uint16 lines = getNumLines();
Common::Point p;
- _vm->_input->getCursorPos(p);
+ _vm->_input->getAbsoluteCursorPos(p);
_pos.x = CLIP((int)(p.x - (_props->_width / 2)), 0, (int)(_vm->_screenWidth - _props->_width));
_pos.y = CLIP((int)(p.y - 2 - (lines * _props->_itemHeight)), 0, (int)(_vm->_screenHeight - lines * _props->_itemHeight));
Modified: scummvm/trunk/engines/parallaction/parallaction.h
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.h 2008-12-07 09:21:01 UTC (rev 35269)
+++ scummvm/trunk/engines/parallaction/parallaction.h 2008-12-07 12:41:50 UTC (rev 35270)
@@ -372,7 +372,7 @@
class Parallaction_ns : public Parallaction {
public:
- Parallaction_ns(OSystem* syst, const PARALLACTIONGameDescription *gameDesc) : Parallaction(syst, gameDesc) { }
+ Parallaction_ns(OSystem* syst, const PARALLACTIONGameDescription *gameDesc);
~Parallaction_ns();
// Engine APIs
@@ -463,7 +463,7 @@
class Parallaction_br : public Parallaction_ns {
public:
- Parallaction_br(OSystem* syst, const PARALLACTIONGameDescription *gameDesc) : Parallaction_ns(syst, gameDesc) { }
+ Parallaction_br(OSystem* syst, const PARALLACTIONGameDescription *gameDesc);
~Parallaction_br();
Common::Error init();
Modified: scummvm/trunk/engines/parallaction/parallaction_br.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction_br.cpp 2008-12-07 09:21:01 UTC (rev 35269)
+++ scummvm/trunk/engines/parallaction/parallaction_br.cpp 2008-12-07 12:41:50 UTC (rev 35270)
@@ -42,6 +42,10 @@
"PART4"
};
+Parallaction_br::Parallaction_br(OSystem* syst, const PARALLACTIONGameDescription *gameDesc) : Parallaction_ns(syst, gameDesc),
+ _locationParser(0), _programParser(0) {
+}
+
Common::Error Parallaction_br::init() {
_screenWidth = 640;
@@ -96,6 +100,9 @@
Parallaction_br::~Parallaction_br() {
freeFonts();
+
+ delete _locationParser;
+ delete _programParser;
}
void Parallaction_br::callFunction(uint index, void* parm) {
Modified: scummvm/trunk/engines/parallaction/parallaction_ns.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction_ns.cpp 2008-12-07 09:21:01 UTC (rev 35269)
+++ scummvm/trunk/engines/parallaction/parallaction_ns.cpp 2008-12-07 12:41:50 UTC (rev 35270)
@@ -141,8 +141,10 @@
strcpy(_buf, s); // kept as reference
}
+Parallaction_ns::Parallaction_ns(OSystem* syst, const PARALLACTIONGameDescription *gameDesc) : Parallaction(syst, gameDesc),
+ _locationParser(0), _programParser(0) {
+}
-
Common::Error Parallaction_ns::init() {
_screenWidth = 320;
Modified: scummvm/trunk/engines/parallaction/parser.h
===================================================================
--- scummvm/trunk/engines/parallaction/parser.h 2008-12-07 09:21:01 UTC (rev 35269)
+++ scummvm/trunk/engines/parallaction/parser.h 2008-12-07 12:41:50 UTC (rev 35270)
@@ -69,7 +69,7 @@
public:
Parser() { reset(); }
- ~Parser() {}
+ ~Parser() { reset(); }
uint _lookup;
@@ -216,7 +216,8 @@
}
public:
- LocationParser_ns(Parallaction_ns *vm) : _vm(vm) {
+ LocationParser_ns(Parallaction_ns *vm) : _vm(vm), _commandsNames(0), _locationStmt(0),
+ _locationZoneStmt(0), _locationAnimStmt(0) {
}
virtual void init();
@@ -307,14 +308,14 @@
void parseGetData(ZonePtr z);
public:
- LocationParser_br(Parallaction_br *vm) : LocationParser_ns((Parallaction_ns*)vm), _vm(vm) {
+ LocationParser_br(Parallaction_br *vm) : LocationParser_ns((Parallaction_ns*)vm), _vm(vm),
+ _audioCommandsNames(0) {
}
virtual void init();
virtual ~LocationParser_br() {
- delete _commandsNames;
- delete _locationStmt;
+ delete _audioCommandsNames;
}
void parse(Script *script);
@@ -374,7 +375,7 @@
}
public:
- ProgramParser_ns(Parallaction_ns *vm) : _vm(vm) {
+ ProgramParser_ns(Parallaction_ns *vm) : _vm(vm), _parser(0), _instructionNames(0) {
}
virtual void init();
@@ -412,12 +413,6 @@
virtual void init();
- virtual ~ProgramParser_br() {
- delete _instructionNames;
- delete _parser;
-
- }
-
};
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list