diff options
Diffstat (limited to 'engines/sci/engine/segment.cpp')
-rw-r--r-- | engines/sci/engine/segment.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/engines/sci/engine/segment.cpp b/engines/sci/engine/segment.cpp index 036d0f6979..80027dbb39 100644 --- a/engines/sci/engine/segment.cpp +++ b/engines/sci/engine/segment.cpp @@ -275,13 +275,13 @@ byte *DynMem::dereference(reg_t pointer, int *size) { } bool SystemStrings::isValidOffset(uint16 offset) const { - return offset < SYS_STRINGS_MAX && strings[offset].name; + return offset < SYS_STRINGS_MAX && !strings[offset]._name.empty(); } byte *SystemStrings::dereference(reg_t pointer, int *size) { if (size) *size = strings[pointer.offset].max_size; - if (pointer.offset < SYS_STRINGS_MAX && strings[pointer.offset].name) + if (isValidOffset(pointer.offset)) return (byte *)(strings[pointer.offset].value); // This occurs in KQ5CD when interacting with certain objects |