[Scummvm-cvs-logs] SF.net SVN: scummvm:[42223] scummvm/branches/gsoc2009-draci/engines/draci
dkasak13 at users.sourceforge.net
dkasak13 at users.sourceforge.net
Tue Jul 7 16:52:36 CEST 2009
Revision: 42223
http://scummvm.svn.sourceforge.net/scummvm/?rev=42223&view=rev
Author: dkasak13
Date: 2009-07-07 14:52:36 +0000 (Tue, 07 Jul 2009)
Log Message:
-----------
* Added AnimationManager::deleteOverlays().
* Fixed bug in AnimationManager::deleteAnimation() that could result in accessing the Common::List::end() sentinel value.
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-07 14:22:39 UTC (rev 42222)
+++ scummvm/branches/gsoc2009-draci/engines/draci/animation.cpp 2009-07-07 14:52:36 UTC (rev 42223)
@@ -232,15 +232,26 @@
Common::List<Animation *>::iterator it;
for (it = _animations.begin(); it != _animations.end(); ++it) {
- if ((*it)->getID() == id)
+ if ((*it)->getID() == id) {
+ (*it)->deleteFrames();
+ _animations.erase(it);
break;
+ }
}
+}
+
+void AnimationManager::deleteOverlays() {
- (*it)->deleteFrames();
+ Common::List<Animation *>::iterator it;
- _animations.erase(it);
+ for (it = _animations.begin(); it != _animations.end(); ++it) {
+ if((*it)->getID() == kOverlayImage)
+ (*it)->deleteFrames();
+
+ _animations.erase(it);
+ }
}
-
+
void AnimationManager::deleteAll() {
Common::List<Animation *>::iterator it;
Modified: scummvm/branches/gsoc2009-draci/engines/draci/animation.h
===================================================================
--- scummvm/branches/gsoc2009-draci/engines/draci/animation.h 2009-07-07 14:22:39 UTC (rev 42222)
+++ scummvm/branches/gsoc2009-draci/engines/draci/animation.h 2009-07-07 14:52:36 UTC (rev 42223)
@@ -91,6 +91,7 @@
void stop(int id);
void deleteAnimation(int id);
+ void deleteOverlays();
void deleteAll();
void drawScene(Surface *surf);
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