diff --git a/lef/lefWrite.c b/lef/lefWrite.c index d0d322a4..b1487feb 100644 --- a/lef/lefWrite.c +++ b/lef/lefWrite.c @@ -1442,8 +1442,10 @@ lefWriteMacro(def, f, scale, setback, pinonly, toplayer, domaster) /* SelectDef. */ pNum = DBPlane(lab->lab_type); - DBPaintPlane(SelectDef->cd_planes[pNum], &carea, - DBStdPaintTbl(lab->lab_type, pNum), (PaintUndoInfo *) NULL); + if (pNum >= 0) + DBPaintPlane(SelectDef->cd_planes[pNum], &carea, + DBStdPaintTbl(lab->lab_type, pNum), + (PaintUndoInfo *) NULL); /* Remember this area since it's going to get erased */ newlll = (labelLinkedList *)mallocMagic(sizeof(labelLinkedList)); diff --git a/select/selCreate.c b/select/selCreate.c index dfc5734f..dbbf2726 100644 --- a/select/selCreate.c +++ b/select/selCreate.c @@ -715,6 +715,9 @@ SelectChunk(scx, type, xMask, pArea, less) SelSetDisplay(SelectUse, SelectRootDef); } + /* Ignore if type is TT_SPACE */ + if (type == TT_SPACE) return; + /* The chunk is computed iteratively. First extract a small * region (defined by INITIALSIZE) into Select2Def. Then find * the largest chunk in the region. If the chunk touches a