aboutsummaryrefslogtreecommitdiff
path: root/engines/draci
diff options
context:
space:
mode:
authorTorbjörn Andersson2009-09-29 19:51:37 +0000
committerTorbjörn Andersson2009-09-29 19:51:37 +0000
commitc85736913140a8c65aed7060a4ae2cc4a64bee70 (patch)
treea595e9bbed032a79b0c820de9aef6e691ad6eedd /engines/draci
parentf6aaafae7c602311a65838f4b798e7a536057ea7 (diff)
downloadscummvm-rg350-c85736913140a8c65aed7060a4ae2cc4a64bee70.tar.gz
scummvm-rg350-c85736913140a8c65aed7060a4ae2cc4a64bee70.tar.bz2
scummvm-rg350-c85736913140a8c65aed7060a4ae2cc4a64bee70.zip
Fixed Valgrind warnings about invalid memory access. Hopefully without breaking
anything, but modifying a data structure while traversing it can be a bit tricky... svn-id: r44469
Diffstat (limited to 'engines/draci')
-rw-r--r--engines/draci/animation.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/engines/draci/animation.cpp b/engines/draci/animation.cpp
index 01bd9b93a5..90dc7fdf9d 100644
--- a/engines/draci/animation.cpp
+++ b/engines/draci/animation.cpp
@@ -449,7 +449,7 @@ void AnimationManager::sortAnimations() {
if ((*next)->getZ() < (*cur)->getZ()) {
Animation *anim = *next;
- _animations.erase(next);
+ next = _animations.reverse_erase(next);
insertAnimation(anim);
hasChanged = true;
@@ -502,7 +502,7 @@ void AnimationManager::deleteOverlays() {
for (it = _animations.begin(); it != _animations.end(); ++it) {
if ((*it)->getID() == kOverlayImage) {
delete *it;
- _animations.erase(it);
+ it = _animations.reverse_erase(it);
}
}
}
@@ -536,7 +536,7 @@ void AnimationManager::deleteAfterIndex(int index) {
debugC(3, kDraciAnimationDebugLevel, "Deleting animation %d...", (*it)->getID());
delete *it;
- _animations.erase(it);
+ it = _animations.reverse_erase(it);
}
}