Committing a patch to prevent segfaulting during "extresist" when

non-Manhattan geometry is analyzed for resistance extraction.
This patch merely prevents the crash condition.  It does not
solve the root of the problem, which is that split tiles can
belong to two different nets, but the tile can hold extraction
information for at most one of those nets.
This commit is contained in:
Tim Edwards 2024-04-16 20:51:52 -04:00
parent 3a1f4dc816
commit 41e65b5214
3 changed files with 6 additions and 2 deletions

View File

@ -1 +1 @@
8.3.473
8.3.474

View File

@ -432,7 +432,7 @@ ResFindNewContactTiles(contacts)
(contacts->cp_currentcontact) += 1;
j->contactList = ce;
}
else
else if (!IsSplit(tile))
{
TileType ttype = TiGetTypeExact(tile);
if (DBIsContact(ttype))

View File

@ -428,6 +428,10 @@ ResAddPlumbing(tile, arg)
{
t1 = (SplitSide(tp1)) ? SplitRightType(tp1) :
SplitLeftType(tp1);
/* Check in case this is the wrong side */
if (ExtCurStyle->exts_device[t1] == NULL)
t1 = (SplitSide(tp1)) ? SplitLeftType(tp1) :
SplitRightType(tp1);
}
else
t1 = TiGetTypeExact(tp1);