diff --git a/VERSION b/VERSION index 2dabf87d..eb775235 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.3.58 +8.3.59 diff --git a/extract/ExtBasic.c b/extract/ExtBasic.c index 6ef620d6..241dc799 100644 --- a/extract/ExtBasic.c +++ b/extract/ExtBasic.c @@ -3032,7 +3032,26 @@ extSpecialPerimFunc(bp, sense) if (toutside == TT_SPACE) if (glob_subsnode != NULL) diffNode = glob_subsnode; + } + /* Check for terminal on different plane than the device */ + if (!needSurvey) + { + for (i = 0; !TTMaskIsZero(&devptr->exts_deviceSDTypes[i]); i++) + { + PlaneMask pmask = DBTechTypesToPlanes(&devptr->exts_deviceSDTypes[i]); + + if (!PlaneMaskHasPlane(pmask, DBPlane(tinside))) + { + diffNode = extTransRec.tr_termnode[i]; + needSurvey = TRUE; + break; + } + } + } + + if (!sense || needSurvey) + { /* * Since we're repeating the search, all terminals should be there. */