aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
diff options
context:
space:
mode:
authorFilippos Karapetis2014-08-07 23:27:47 +0300
committerFilippos Karapetis2014-08-08 02:11:49 +0300
commit1cbfe02bcfbb947aaa8b016087095734c603d9f5 (patch)
tree51394a313d4943774769e09847ec27e19df80419 /engines/sci/engine
parent278a14d96ef40acabaf038f70662be671d9093fc (diff)
downloadscummvm-rg350-1cbfe02bcfbb947aaa8b016087095734c603d9f5.tar.gz
scummvm-rg350-1cbfe02bcfbb947aaa8b016087095734c603d9f5.tar.bz2
scummvm-rg350-1cbfe02bcfbb947aaa8b016087095734c603d9f5.zip
SCI: Allow invalid references to kUnload() - bug #6600
Since the reference will be invalidated anyway by kUnload itself, there's no real reason to check for its validity. We do the same with kGraph() and kDisplay().
Diffstat (limited to 'engines/sci/engine')
-rw-r--r--engines/sci/engine/kernel_tables.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h
index fc46d16b8d..0c2fd4e3ea 100644
--- a/engines/sci/engine/kernel_tables.h
+++ b/engines/sci/engine/kernel_tables.h
@@ -468,7 +468,8 @@ static SciKernelMapEntry s_kernelMap[] = {
{ MAP_CALL(TimesSin), SIG_EVERYWHERE, "ii", NULL, NULL },
{ "SinMult", kTimesSin, SIG_EVERYWHERE, "ii", NULL, NULL },
{ MAP_CALL(TimesTan), SIG_EVERYWHERE, "ii", NULL, NULL },
- { MAP_CALL(UnLoad), SIG_EVERYWHERE, "i[ri]", NULL, kUnLoad_workarounds },
+ { MAP_CALL(UnLoad), SIG_EVERYWHERE, "i[ir!]", NULL, kUnLoad_workarounds },
+ // ^ We allow invalid references here (e.g. bug #6600), since they will be invalidated anyway by the call itself
{ MAP_CALL(ValidPath), SIG_EVERYWHERE, "r", NULL, NULL },
{ MAP_CALL(Wait), SIG_EVERYWHERE, "i", NULL, NULL },