Corrected an error that has been in the magic code forever, in which

if a GDS (CIF) layer is dependent on, and only on, a templayer or
layers that get hierarchically processed, it will not get added to
the list of layers needing hierarchical processing, and therefore
end up not being generated in the output.
This commit is contained in:
Tim Edwards 2019-05-16 17:41:42 -04:00
parent e2dd5f5157
commit 704f1dc69f
1 changed files with 18 additions and 0 deletions

View File

@ -1846,6 +1846,24 @@ CIFTechFinal()
}
}
/* Added by Tim, 5/16/19 */
/* Layers that depend on hierarchically generated layers */
/* (i.e., templayers) must themselves be hierarchically */
/* processed. */
for (i = 0; i < style->cs_nLayers; i++)
{
TileTypeBitMask ourDepend, mmask;
ourDepend = DBZeroTypeBits;
for (op = style->cs_layers[i]->cl_ops; op != NULL; op = op->co_next)
TTMaskSetMask(&ourDepend, &op->co_cifMask);
TTMaskAndMask3(&mmask, &ourDepend, &style->cs_hierLayers);
if (!TTMaskIsZero(&mmask))
TTMaskSetType(&style->cs_hierLayers, i);
}
/* Added by Tim, 10/18/04 */
/* Go through the layer operators looking for those that */