Fixed a corner case found by Sylvain Munaut (see github issue

tracker #96) in which a subcircuit with only one port (in this
case, a pad) but which has properties (in this case, "M") will
fail to set the pointer position ahead of the property because
the loop starts after the first pin, so it has already missed
the position that needs to be saved.  Fixed by initializing
the value to the first pin position before starting the loop.
This commit is contained in:
Tim Edwards 2025-03-09 11:07:58 -04:00
parent 4457248ecd
commit 4f315d33d6
2 changed files with 4 additions and 1 deletions

View File

@ -1 +1 @@
1.5.292
1.5.293

View File

@ -6055,6 +6055,9 @@ PropertyMatch(struct Element *E1, struct Element *E2,
#endif
}
obn1 = ob1->next;
obn2 = ob2->next;
/* Find the first property record of each circuit. obn1, obn2 are */
/* the last device record before the properties for each device. */
for (tp1 = ob1->next; (tp1 != NULL) && tp1->type > FIRSTPIN; tp1 = tp1->next)