This iterated over all pins to find the pin after a given item. Because
out pattern is consistently to iterate in the outer loop, this means
that we were an O(n^2) loop for the pins just to find their names. This
affected very large parts (e.g. FPGAs) when switching sheets to display
(cherry picked from commit 6fa2eedb4b)
Check for already loaded schematics in the current sheet path as well
as the current project root sheet path to prevent multiple loads of
shared schematic. This bug was causing shared sheets to be loaded more
than once which caused instance data to get separated by each copy rather
than saved in one copy of the schematic which would result in all instance
data being lost except the last saved copy of the schematic. This bug has
been around forever and may be the cause of some unexplained schematic
instance data corruption issues. This bug does not apply when opening
the full project.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11076
(cherry picked from commit 84f927d057)
The pins can exist on a different sheet from the no-connect. In this
case, we do not set the ERC for the current sheet to the remote pins,
instead only link the NC
(cherry picked from commit bc8366cd95)
- Do not use translated field names outside strings displayed in dialogs.
- fix code that does not work well with default locale.
- fix some (not all) I18n issues in DIALOG_UPDATE_SYMBOL_FIELDS.
(cherry picked from commit 20d1d0705e)
While we never allow the creation of mirrored text elements in the
schematic and symbol library editors, external generation of symbols may
cause the property to be set, which can then never be changed. This
leaves the property unset for all elements
Fixes https://gitlab.com/kicad/code/kicad/issues/13007
(cherry picked from commit f1556ed801)
Need to test all units in the subgraph as there are chances that the
subgraph might have more than one label, which needs to be consistently
handled
(cherry picked from commit 60374daa49)
To be connected, the label must have at least two pins on a subgraph
(or, in the case of a hierarchical label, two pins somewhere in its
connection)
Fixes https://gitlab.com/kicad/code/kicad/issues/7203
(cherry picked from commit 05cdf915d0)
Eeschema shows background fills on a different z-level than the rest of
the symbols/elements. Print the backgrounds prior to the foregrounds in
order to preserve this view for print output
Fixes https://gitlab.com/kicad/code/kicad/issues/12559
(cherry picked from commit e055302a3c)
The offset setting was incorrect when using wxAffineMatrix2D.
It was visible when printing more than one sheet.
Note also when not using wxAffineMatrix2D, all pages must have the same orientation
(PORTRAIT/LANDSCAPE is not managed)
From master branch, commit 79c30180
Reverting changes broke links between derived symbols and the root symbol.
Now fixed by do not delete and recreate reverted symbol.
From master, commit f5fd12c0Fixes#10792
At the moment, units are stored in the instance data, so when loading
the file, all symbols will have bbox for the first unit. After calling
`UpdateUnit()`, we need to recache the rtree bounding boxes to get
correct hit tests
Fixes https://gitlab.com/kicad/code/kicad/issues/11681
(cherry picked from commit 939313088e)