Additional correction for the CIF "close" operator.
This commit is contained in:
parent
4f7567b864
commit
6b84efa86e
18
cif/CIFgen.c
18
cif/CIFgen.c
|
|
@ -2012,8 +2012,22 @@ cifGatherFunc(tile, atotal, mode)
|
||||||
}
|
}
|
||||||
else if (mode == CLOSE_FILL)
|
else if (mode == CLOSE_FILL)
|
||||||
{
|
{
|
||||||
DBNMPaintPlane(cifPlane, TiGetTypeExact(tile), &area, CIFPaintTable,
|
TileType dinfo = TiGetTypeExact(tile);
|
||||||
(PaintUndoInfo *)NULL);
|
|
||||||
|
/* The recursive call to cifGatherFunc() below means that the */
|
||||||
|
/* tile type cannot be depended on to have the TT_SIDE bit set */
|
||||||
|
/* for the side of the tile that is TT_SPACE. So set the */
|
||||||
|
/* side bit manually. */
|
||||||
|
|
||||||
|
if (IsSplit(tile))
|
||||||
|
{
|
||||||
|
if (TiGetLeftType(tile) == TT_SPACE)
|
||||||
|
dinfo &= ~TT_SIDE;
|
||||||
|
else
|
||||||
|
dinfo |= TT_SIDE;
|
||||||
|
}
|
||||||
|
|
||||||
|
DBNMPaintPlane(cifPlane, dinfo, &area, CIFPaintTable, (PaintUndoInfo *)NULL);
|
||||||
CIFTileOps++;
|
CIFTileOps++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue