diff options
author | Travis Howell | 2005-05-01 01:02:34 +0000 |
---|---|---|
committer | Travis Howell | 2005-05-01 01:02:34 +0000 |
commit | 2260447e8b7a960a7e92c6c75f0ec66c079581b6 (patch) | |
tree | 336456041ee36fc7f94fed203f58e1f78f7f33ca | |
parent | 051977cd173b1b8efbba90e23d14479cec1bf2f5 (diff) | |
download | scummvm-rg350-2260447e8b7a960a7e92c6c75f0ec66c079581b6.tar.gz scummvm-rg350-2260447e8b7a960a7e92c6c75f0ec66c079581b6.tar.bz2 scummvm-rg350-2260447e8b7a960a7e92c6c75f0ec66c079581b6.zip |
Add missing safety checks.
svn-id: r17877
-rw-r--r-- | scumm/script_v100he.cpp | 6 | ||||
-rw-r--r-- | scumm/script_v72he.cpp | 12 |
2 files changed, 12 insertions, 6 deletions
diff --git a/scumm/script_v100he.cpp b/scumm/script_v100he.cpp index 6210ce2522..eaa8a46fbf 100644 --- a/scumm/script_v100he.cpp +++ b/scumm/script_v100he.cpp @@ -2779,8 +2779,10 @@ void ScummEngine_v100he::decodeParseString(int m, int n) { _string[m].loadDefault(); if (n) { _actorToPrintStrFor = pop(); - a = derefActorSafe(_actorToPrintStrFor, "decodeParseString"); - _string[0].color = a->_talkColor; + if (_actorToPrintStrFor != 0xFF) { + a = derefActorSafe(_actorToPrintStrFor, "decodeParseString"); + _string[0].color = a->_talkColor; + } } break; case 92: diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp index 3274280269..de6bbb1062 100644 --- a/scumm/script_v72he.cpp +++ b/scumm/script_v72he.cpp @@ -1570,10 +1570,12 @@ void ScummEngine_v72he::o72_talkActor() { Actor *a; _actorToPrintStrFor = pop(); - a = derefActorSafe(_actorToPrintStrFor, "o72_talkActor"); _string[0].loadDefault(); - _string[0].color = a->_talkColor; + if (_actorToPrintStrFor != 0xFF) { + a = derefActorSafe(_actorToPrintStrFor, "o72_talkActor"); + _string[0].color = a->_talkColor; + } actorTalk(_scriptPointer); _scriptPointer += resStrLen(_scriptPointer) + 1; @@ -2258,8 +2260,10 @@ void ScummEngine_v72he::decodeParseString(int m, int n) { _string[m].loadDefault(); if (n) { _actorToPrintStrFor = pop(); - a = derefActorSafe(_actorToPrintStrFor, "decodeParseString"); - _string[0].color = a->_talkColor; + if (_actorToPrintStrFor != 0xFF) { + a = derefActorSafe(_actorToPrintStrFor, "decodeParseString"); + _string[0].color = a->_talkColor; + } } break; case 0xFF: |