aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/segment.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/engine/segment.cpp')
-rw-r--r--engines/sci/engine/segment.cpp4
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