The drivers need to get passed up and down the hierarchical sheets. In
order to do this, both the sheet pin and the hierarchical pin need to
be in the changed items. However, we only get sheets in the screen
items list while the pins are the elements that get set dirty
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17797
(cherry picked from commit 5f16c5892c)
Fixed point output can create arbitrarily long string representations of
floating points. When this happens, we would like to just represent the
scientific notation to a limited precision
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17890
(cherry picked from commit 24f02e72d0)
Zoom-to-selection should only show the elements that we can see, so
avoiding hidden fields in footprints keeps the zoom window appropriately
sized
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15245
(cherry picked from commit 416033e8e5)
Showing the clearance area is not obvious as the clearance
extends from the pad on flashed copper layers and from the
hole on non-flashed copper layers. Because of this, we
choose to not display clearance lines at all on non-copper
active layers as it's not clear which we'd be displaying.
We follow the same rule for tracks for consistency (even
though they don't have the same issue).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18287
When using the button to select a footprint using the footprint chooser
dialog, the new footprint was not always taken in account (perhaps MSW specific).
It was due to the code to update the footprint name was between Disable() and
Enable, thus creating a loss of some events in the complex grid edition stuff.
This is now replaced by a lock flag to protect this code to be executed when
it should not.
From master branch
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18270
When loading schematics/pcbs, notification of font replacements might be
warranted but in libraries, this warning is not helpful and intrusive
(cherry picked from commit 11c6164934)
Previously, we only allowed pins of the same time as well as passive
pins to be stacked. This change allows NIC pins as well since they are
not internally connected, there is no reason that they cannot be tied to
another pin electrically
(cherry picked from commit 0e0ada8e4e)
The schematic net names are fully unique but if we have multiple pads
that are mapped to a NC pin, they need to have unique net names so that
they do not get connected to each other in the ratsnest. This breaks
the schematic parity check as we have modified the netname for some
pads. To work around this, we first maintain the zero-th net without
suffix and then add an additional check in DRC to ensure that we allow
unconnected nets as long as the share a common prefix with the schematic
netname.
(cherry picked from commit f61d400d88)
kimath overflow can generate thousands of unique messages in one run lolol
(cherry picked from commit acec5552c0)
Co-authored-by: Marek Roszko <mark.roszko@gmail.com>
(Copper shapes, on the other hand, can. Since we use
GetItemDescription() to report DRC errors and the like,
it's better to have it report the net even when it's
<no net>.)
(cherry picked from commit b2588e0bbf)