SCI: Fix crash in script debugger

Stepping through an instruction that accesses an invalid property caused
an error. This code is only used by the disassembler when debugging, and
the disassembler already displays when a property is invalid.
This commit is contained in:
sluicebox
2023-03-20 10:58:11 -07:00
parent 6fcfdaa1b4
commit 19d4f63af4
2 changed files with 7 additions and 4 deletions
+6 -2
View File
@@ -316,8 +316,12 @@ reg_t disassemble(EngineState *s, reg_t pos, const Object *obj, bool printBWTag,
} else {
if (getSciVersion() == SCI_VERSION_3)
debugN("\t(%s)", g_sci->getKernel()->getSelectorName(param_value).c_str());
else
debugN("\t(%s)", g_sci->getKernel()->getSelectorName(obj->propertyOffsetToId(s->_segMan, param_value)).c_str());
else {
int propertySelector = obj->propertyOffsetToId(s->_segMan, param_value);
if (propertySelector != -1) {
debugN("\t(%s)", g_sci->getKernel()->getSelectorName(propertySelector).c_str());
}
}
}
}
}