One correction to the last commit---The additional check is not
limited to the DRC_REVERSE case but must be done in both the forward and reverse cases.
This commit is contained in:
parent
51b9846120
commit
cccd79ab0d
|
|
@ -617,14 +617,12 @@ drcTile (tile, arg)
|
||||||
/* Split side changes in the reverse case */
|
/* Split side changes in the reverse case */
|
||||||
dinfo |= TT_SIDE;
|
dinfo |= TT_SIDE;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
/* The area to check is bounded between the diagonals of
|
/* The area to check is bounded between the diagonals of
|
||||||
* tile and errRect (which is the tile area, offset).
|
* tile and errRect (which is the tile area, offset).
|
||||||
* Pass errRect and dinfo to areaNMCheck using the
|
* Pass errRect and dinfo to areaNMCheck using the
|
||||||
* ClientData structure arg->dCD_rlist and arg->dCD_entries,
|
* ClientData structure arg->dCD_rlist and arg->dCD_entries,
|
||||||
* which are not used by areaNMCheck. This is only needed
|
* which are not used by areaNMCheck.
|
||||||
* for the DRC_REVERSE case.
|
|
||||||
*/
|
*/
|
||||||
arg->dCD_rlist = (Rect *)mallocMagic(sizeof(Rect));
|
arg->dCD_rlist = (Rect *)mallocMagic(sizeof(Rect));
|
||||||
*(arg->dCD_rlist) = errRect;
|
*(arg->dCD_rlist) = errRect;
|
||||||
|
|
@ -633,7 +631,6 @@ drcTile (tile, arg)
|
||||||
arg->dCD_entries &= ~TT_SIDE;
|
arg->dCD_entries &= ~TT_SIDE;
|
||||||
else
|
else
|
||||||
arg->dCD_entries |= TT_SIDE;
|
arg->dCD_entries |= TT_SIDE;
|
||||||
}
|
|
||||||
|
|
||||||
/* errRect is the tile area offset by (deltax, deltay) */
|
/* errRect is the tile area offset by (deltax, deltay) */
|
||||||
errRect.r_xbot += deltax;
|
errRect.r_xbot += deltax;
|
||||||
|
|
@ -645,13 +642,10 @@ drcTile (tile, arg)
|
||||||
arg->dCD_celldef->cd_planes[cptr->drcc_plane], dinfo,
|
arg->dCD_celldef->cd_planes[cptr->drcc_plane], dinfo,
|
||||||
&errRect, &tmpMask, areaNMCheck, (ClientData) arg);
|
&errRect, &tmpMask, areaNMCheck, (ClientData) arg);
|
||||||
|
|
||||||
if (cptr->drcc_flags & DRC_REVERSE)
|
|
||||||
{
|
|
||||||
arg->dCD_entries = 0;
|
arg->dCD_entries = 0;
|
||||||
freeMagic(arg->dCD_rlist);
|
freeMagic(arg->dCD_rlist);
|
||||||
arg->dCD_rlist = (Rect *)NULL;
|
arg->dCD_rlist = (Rect *)NULL;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
DRCstatEdges++;
|
DRCstatEdges++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue