[Scummvm-cvs-logs] SF.net SVN: scummvm:[42073] scummvm/branches/gsoc2009-draci/engines/draci

dkasak13 at users.sourceforge.net dkasak13 at users.sourceforge.net
Fri Jul 3 20:19:51 CEST 2009


Revision: 42073
          http://scummvm.svn.sourceforge.net/scummvm/?rev=42073&view=rev
Author:   dkasak13
Date:     2009-07-03 18:19:51 +0000 (Fri, 03 Jul 2009)

Log Message:
-----------
Added deconstructor for Animation. Made Animation objects delete their frames when deleteAll() or deleteAnimation() are called.

Modified Paths:
--------------
    scummvm/branches/gsoc2009-draci/engines/draci/animation.cpp
    scummvm/branches/gsoc2009-draci/engines/draci/animation.h

Modified: scummvm/branches/gsoc2009-draci/engines/draci/animation.cpp
===================================================================
--- scummvm/branches/gsoc2009-draci/engines/draci/animation.cpp	2009-07-03 18:17:05 UTC (rev 42072)
+++ scummvm/branches/gsoc2009-draci/engines/draci/animation.cpp	2009-07-03 18:19:51 UTC (rev 42073)
@@ -98,11 +98,23 @@
 	
 	Common::List<AnimObj>::iterator it = getAnimation(id);
 
+	for(uint i = 0; i < it->_frames.size(); ++i) {		
+		delete it->_frames[i];
+	}
+
 	_animObjects.erase(it);
 }
 	
 void Animation::deleteAll() {
 	
+	Common::List<AnimObj>::iterator it;
+
+	for (it = _animObjects.begin(); it != _animObjects.end(); ++it) {
+		for(uint i = 0; i < it->_frames.size(); ++i) {		
+			delete it->_frames[i];
+		}	
+	}
+
 	_animObjects.clear();
 }
 

Modified: scummvm/branches/gsoc2009-draci/engines/draci/animation.h
===================================================================
--- scummvm/branches/gsoc2009-draci/engines/draci/animation.h	2009-07-03 18:17:05 UTC (rev 42072)
+++ scummvm/branches/gsoc2009-draci/engines/draci/animation.h	2009-07-03 18:19:51 UTC (rev 42073)
@@ -45,6 +45,7 @@
 
 public:
 	Animation(DraciEngine *vm) : _vm(vm) {};
+	~Animation() { deleteAll(); }
 
 	void addAnimation(uint id, uint z = 0);
 	void addFrame(uint id, Drawable *frame);


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