Corrected dereferencing of cell dependencies, which was being applied

only at the time of running the command "load".  But cells are generally
loaded only on an as-needed basis, so the dereferencing option must be
saved as a flag in the cell and honored whenever its subcells are expanded
or otherwise read at a later time.
This commit is contained in:
Tim Edwards
2020-01-02 10:13:04 -05:00
parent 67866c7991
commit 82e33248f2
18 changed files with 118 additions and 35 deletions
+4 -1
View File
@@ -789,7 +789,10 @@ SimCellTileSrFunc(scx, fp)
if (!DBDescendSubcell(scx->scx_use, fp->tf_xmask))
return 0;
if ((def->cd_flags & CDAVAILABLE) == 0)
if (!DBCellRead(def, (char *) NULL, TRUE, FALSE, NULL)) return 0;
{
bool dereference = (def->cd_flags & CDDEREFERENCE) ? TRUE : FALSE;
if (!DBCellRead(def, (char *) NULL, TRUE, dereference, NULL)) return 0;
}
context.tc_scx = scx;
context.tc_filter = fp;