aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics
diff options
context:
space:
mode:
authorFilippos Karapetis2010-06-18 15:40:18 +0000
committerFilippos Karapetis2010-06-18 15:40:18 +0000
commit680f7c897af5dac091e1abc47f0500cccbd07a51 (patch)
tree62e8056d2af6c50aa7812d88f8e42776265a8aaa /engines/sci/graphics
parent5d378574a438f7b7f60fd01b88dd58e05c0bcd9b (diff)
downloadscummvm-rg350-680f7c897af5dac091e1abc47f0500cccbd07a51.tar.gz
scummvm-rg350-680f7c897af5dac091e1abc47f0500cccbd07a51.tar.bz2
scummvm-rg350-680f7c897af5dac091e1abc47f0500cccbd07a51.zip
Fixed a problem in kAnimate which occurred when a list was modified by a call (e.g. in KQ1 demo, PQ2)
svn-id: r50022
Diffstat (limited to 'engines/sci/graphics')
-rw-r--r--engines/sci/graphics/animate.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/engines/sci/graphics/animate.cpp b/engines/sci/graphics/animate.cpp
index 598724f2be..06054f3a19 100644
--- a/engines/sci/graphics/animate.cpp
+++ b/engines/sci/graphics/animate.cpp
@@ -606,6 +606,9 @@ void GfxAnimate::kernelAnimate(reg_t listReference, bool cycle, int argc, reg_t
if (cycle) {
if (!invoke(list, argc, argv))
return;
+
+ // Look up the list again, as it may have been modified
+ list = _s->_segMan->lookupList(listReference);
}
Port *oldPort = _ports->setPort((Port *)_ports->_picWind);