aboutsummaryrefslogtreecommitdiff
path: root/engines/lure/hotspots.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2011-09-09 22:10:03 +1000
committerPaul Gilbert2011-09-09 22:10:03 +1000
commit197409da40b2a7a4064edf05ecf5f520faef8eea (patch)
treeca346286d251246ff73dcad6f32797976ca23d00 /engines/lure/hotspots.cpp
parent528ff10d2bb7bb5d1d43546485861e83b773c1df (diff)
downloadscummvm-rg350-197409da40b2a7a4064edf05ecf5f520faef8eea.tar.gz
scummvm-rg350-197409da40b2a7a4064edf05ecf5f520faef8eea.tar.bz2
scummvm-rg350-197409da40b2a7a4064edf05ecf5f520faef8eea.zip
LURE: Fix crash caused by trying to talk to a character when an ask action is in progress
Diffstat (limited to 'engines/lure/hotspots.cpp')
-rw-r--r--engines/lure/hotspots.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/engines/lure/hotspots.cpp b/engines/lure/hotspots.cpp
index f38bac6e12..96e5e088ab 100644
--- a/engines/lure/hotspots.cpp
+++ b/engines/lure/hotspots.cpp
@@ -1673,6 +1673,12 @@ void Hotspot::doTalkTo(HotspotData *hotspot) {
faceHotspot(hotspot);
endAction();
+ // WORKAROUND: Fix crash when talking when an ask conversation is active
+ if (_data->talkDestCharacterId != 0) {
+ // Don't allow the talk to start
+ return;
+ }
+
uint16 sequenceOffset = res.getHotspotAction(hotspot->actionsOffset, TALK_TO);
if (sequenceOffset >= 0x8000) {
showMessage(sequenceOffset);