[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