aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2011-08-17 23:54:57 +0200
committerWillem Jan Palenstijn2011-08-17 23:57:04 +0200
commitb82f40d9061072e3748868b16f75a8cb767afce0 (patch)
treea5d4691a991558be8d3abf1327dbcbdb1219e511
parent7eab6a7c59feaff698061be19aef61d0d0e688c2 (diff)
downloadscummvm-rg350-b82f40d9061072e3748868b16f75a8cb767afce0.tar.gz
scummvm-rg350-b82f40d9061072e3748868b16f75a8cb767afce0.tar.bz2
scummvm-rg350-b82f40d9061072e3748868b16f75a8cb767afce0.zip
DREAMWEB: Fix crash when loading some saves
findsource() has the hidden side effect of modifying kTakeoff, and the getreelframeax() conversion reordered a findsource() call and kTakeoff access in e78a5a2b08012dfe786da6d77abcc052436ace9c.
-rw-r--r--engines/dreamweb/sprite.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp
index 2129d1ca6d..506d0fb694 100644
--- a/engines/dreamweb/sprite.cpp
+++ b/engines/dreamweb/sprite.cpp
@@ -565,8 +565,9 @@ void DreamGenContext::showgamereel() {
const Frame *DreamGenContext::getreelframeax(uint16 frame) {
data.word(kCurrentframe) = frame;
+ Frame* source = findsourceCPP();
uint16 offset = data.word(kCurrentframe) - data.word(kTakeoff);
- return findsourceCPP() + offset;
+ return source + offset;
}
void DreamGenContext::showrain() {