mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-08 02:42:34 +00:00
SCI: unknown valgrind cases->fake 0 when official
we will fake 0 instead of error()ing out in official releases, when an uninitialized temp is read is supposed to get backported svn-id: r53046
This commit is contained in:
parent
5ba3475f93
commit
2879e19b6a
@ -207,10 +207,17 @@ static reg_t validate_read_var(reg_t *r, reg_t *stack_base, int type, int max, i
|
||||
// We need to find correct replacements for each situation manually
|
||||
SciTrackOriginReply originReply;
|
||||
SciWorkaroundSolution solution = trackOriginAndFindWorkaround(index, uninitializedReadWorkarounds, &originReply);
|
||||
if (solution.type == WORKAROUND_NONE)
|
||||
if (solution.type == WORKAROUND_NONE) {
|
||||
#ifdef RELEASE_BUILD
|
||||
// If we are running an official ScummVM release -> fake 0 in unknown cases
|
||||
r[index] = NULL_REG;
|
||||
break;
|
||||
#else
|
||||
error("Uninitialized read for temp %d from method %s::%s (script %d, room %d, localCall %x)",
|
||||
index, originReply.objectName.c_str(), originReply.methodName.c_str(), originReply.scriptNr,
|
||||
g_sci->getEngineState()->currentRoomNumber(), originReply.localCallOffset);
|
||||
#endif
|
||||
}
|
||||
assert(solution.type == WORKAROUND_FAKE);
|
||||
r[index] = make_reg(0, solution.value);
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user