aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/composer/composer.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/engines/composer/composer.cpp b/engines/composer/composer.cpp
index 9e059a4a53..9b907765d0 100644
--- a/engines/composer/composer.cpp
+++ b/engines/composer/composer.cpp
@@ -421,7 +421,7 @@ void ComposerEngine::processAnimFrame() {
case 4:
if (entry.word10 && (!data || data != entry.word10)) {
debug(4, "anim: erase sprite %d", entry.word10);
- removeSprite(data, anim->_id);
+ removeSprite(entry.word10, anim->_id);
}
if (data) {
uint16 x = anim->_stream->readUint16LE();
@@ -471,7 +471,7 @@ void ComposerEngine::removeSprite(uint16 id, uint16 animId) {
for (Common::List<Sprite>::iterator i = _sprites.begin(); i != _sprites.end(); i++) {
if (i->id != id)
continue;
- if (animId && i->animId != animId)
+ if (i->animId && animId && (i->animId != animId))
continue;
i = _sprites.reverse_erase(i);
return;