diff options
| author | Willem Jan Palenstijn | 2009-06-06 11:38:20 +0000 |
|---|---|---|
| committer | Willem Jan Palenstijn | 2009-06-06 11:38:20 +0000 |
| commit | 60e02ad6a81bc30d99c3f803893a88515b237c4e (patch) | |
| tree | e09d4a01e5610c13356e4cdb91178caa812c6404 /engines/sci/engine/gc.cpp | |
| parent | a5a0a9536115cc9e0169e9cb75274a9f61c02e73 (diff) | |
| download | scummvm-rg350-60e02ad6a81bc30d99c3f803893a88515b237c4e.tar.gz scummvm-rg350-60e02ad6a81bc30d99c3f803893a88515b237c4e.tar.bz2 scummvm-rg350-60e02ad6a81bc30d99c3f803893a88515b237c4e.zip | |
Store long-term pointers to object variables in a new ObjVarRef struct.
Storing them as reg_t* could cause the pointers to become invalid
when they pointed into CloneTable since CloneTable can be re-allocated.
svn-id: r41220
Diffstat (limited to 'engines/sci/engine/gc.cpp')
| -rw-r--r-- | engines/sci/engine/gc.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/engines/sci/engine/gc.cpp b/engines/sci/engine/gc.cpp index 24a7fbd1a9..1bfb66987e 100644 --- a/engines/sci/engine/gc.cpp +++ b/engines/sci/engine/gc.cpp @@ -106,7 +106,7 @@ reg_t_hash_map *find_all_used_references(EngineState *s) { wm.push(es.objp); wm.push(es.sendp); if (es.type == EXEC_STACK_TYPE_VARSELECTOR) - wm.push(*(es.addr.varp)); + wm.push(*(es.getVarPointer(s))); } } #ifdef DEBUG_GC_VERBOSE |
