diff --git a/VERSION b/VERSION index 368eea4b..131e6042 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.3.309 +8.3.310 diff --git a/calma/CalmaRdcl.c b/calma/CalmaRdcl.c index 0d64c40f..436aea34 100644 --- a/calma/CalmaRdcl.c +++ b/calma/CalmaRdcl.c @@ -530,6 +530,9 @@ calmaParseStructure(filename) cifReadCellDef->cd_client = (ClientData) calmaExact(); cifReadCellDef->cd_flags |= CDFLATGDS; cifReadCellDef->cd_flags &= ~CDFLATTENED; + + /* Remove any labels in this cell */ + DBEraseLabel(cifReadCellDef, &TiPlaneRect, &DBAllTypeBits, NULL); } else { diff --git a/cif/CIFrdcl.c b/cif/CIFrdcl.c index a645bf3b..993900c2 100644 --- a/cif/CIFrdcl.c +++ b/cif/CIFrdcl.c @@ -1689,6 +1689,10 @@ CIFReadCellCleanup(filetype) if (def->cd_flags & CDFLATGDS) { /* These cells have been flattened and are no longer needed. */ + /* Do not remove the actual CellDef, though, because it is */ + /* still instanced, and that instance tells the GDS write */ + /* routine that the subcell needs to be included in the */ + /* output. But all clientdata and labels should be removed. */ int pNum; Plane **cifplanes = (Plane **)def->cd_client; @@ -1698,7 +1702,6 @@ CIFReadCellCleanup(filetype) /* cifplanes should be valid, but don't crash magic if not */ if (cifplanes != (Plane **)0) { - for (pNum = 0; pNum < MAXCIFRLAYERS; pNum++) { if (cifplanes[pNum] != NULL) diff --git a/extract/ExtCouple.c b/extract/ExtCouple.c index 8e7e8caa..c17d068c 100644 --- a/extract/ExtCouple.c +++ b/extract/ExtCouple.c @@ -722,6 +722,8 @@ extAddCouple(bp, ecs) distFringe = (ExtOptions & EXT_DOFRINGEHALO) ? ExtCurStyle->exts_fringeShieldHalo : 1; + if (distFringe == 0) distFringe = 1; + switch (bp->b_direction) { case BD_LEFT: /* Along left */