From 00c0208f18e82bd07775a907274660c8ce6ee180 Mon Sep 17 00:00:00 2001 From: "R. Timothy Edwards" Date: Wed, 18 Feb 2026 12:28:48 -0500 Subject: [PATCH] Corrected an error in which the "global substrate node" flag does not get transferred to a new node during a node merge; consequently, the identity of the default substrate node gets lost, and node capacitance to substrate ends up being placed on node "0"--- Probably okay for simulation, but not the expected result. --- extflat/EFbuild.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/extflat/EFbuild.c b/extflat/EFbuild.c index 7b1e9c7c..65f485da 100644 --- a/extflat/EFbuild.c +++ b/extflat/EFbuild.c @@ -2238,6 +2238,14 @@ efNodeMerge(node1ptr, node2ptr) if (removing->efnode_flags & EF_SUBS_NODE) keeping->efnode_flags |= EF_SUBS_NODE; + /* + * If "removing" has the EF_GLOB_SUBS_NODE flag set, then copy the + * port record in the flags to "keeping". + */ + if (removing->efnode_flags & EF_GLOB_SUBS_NODE) + keeping->efnode_flags |= EF_GLOB_SUBS_NODE; + + /* If EFSaveLocs is set, then merge any disjoint segments from /* If EFSaveLocs is set, then merge any disjoint segments from * removing to keeping. */