From cb73ebfab02e6eed32f08287b45522c61ef542f8 Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Fri, 8 Mar 2024 12:28:29 -0500 Subject: [PATCH] Corrected an error in lefWrite where SelectClear() is called without SelectRootDef being set, which causes SelectClear() to return without doing anything. However---question is why SelectClear() needs SelectRootDef to be non-NULL since it is clearing the selection, not the selection source. For now, just patching the failing case, not trying to mess with the whole selection mechanism. --- lef/lefWrite.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lef/lefWrite.c b/lef/lefWrite.c index c00c9a34..66f3ca83 100644 --- a/lef/lefWrite.c +++ b/lef/lefWrite.c @@ -1496,6 +1496,11 @@ lefWriteMacro(def, f, scale, setback, pinonly, toplayer, domaster) Rect carea; labelLinkedList *newlll; + /* SelectClear() requires SelectRootDef be non-NULL, although + * this might be an error in SelectClear(), since SelectClear() + * clears the selection, not the source. + */ + if (SelectRootDef == NULL) SelectRootDef = lefFlatDef; SelectClear(); if (pinonly == 0) carea = labr;