diff options
author | Martin Kiewitz | 2010-07-10 17:08:42 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-07-10 17:08:42 +0000 |
commit | b7906e7feb33cf1b31433f9962bb02b393e1943e (patch) | |
tree | e2e0629edc875cb954c76c4365c406142665b642 /engines/sci | |
parent | 28d07c7e0a8e2e84aa5bba45105dc4091476f4ee (diff) | |
download | scummvm-rg350-b7906e7feb33cf1b31433f9962bb02b393e1943e.tar.gz scummvm-rg350-b7906e7feb33cf1b31433f9962bb02b393e1943e.tar.bz2 scummvm-rg350-b7906e7feb33cf1b31433f9962bb02b393e1943e.zip |
SCI: allow invalid handles in kDisplay calls, fixes pq3 intro signature mismatch
svn-id: r50785
Diffstat (limited to 'engines/sci')
-rw-r--r-- | engines/sci/engine/kernel.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/engines/sci/engine/kernel.cpp b/engines/sci/engine/kernel.cpp index 2069b8ee80..2fb1452fa2 100644 --- a/engines/sci/engine/kernel.cpp +++ b/engines/sci/engine/kernel.cpp @@ -370,7 +370,8 @@ static SciKernelMapEntry s_kernelMap[] = { { MAP_CALL(CosDiv), SIG_EVERYWHERE, "ii", NULL, NULL }, { MAP_CALL(DeleteKey), SIG_EVERYWHERE, "l.", NULL, NULL }, { MAP_CALL(DeviceInfo), SIG_EVERYWHERE, "i(r)(r)(i)", NULL, NULL }, // subop - { MAP_CALL(Display), SIG_EVERYWHERE, "[ir]([ir]*)", NULL, NULL }, // subop + { MAP_CALL(Display), SIG_EVERYWHERE, "[ir]([ir!]*)", NULL, NULL }, + // ^ we allow invalid references here, because kDisplay gets called with those in e.g. pq3 during intro { MAP_CALL(DirLoop), SIG_EVERYWHERE, "oi", NULL, NULL }, { MAP_CALL(DisposeClone), SIG_EVERYWHERE, "o", NULL, NULL }, { MAP_CALL(DisposeList), SIG_EVERYWHERE, "l", NULL, NULL }, |