When counting items, many cases exist where we want to count all items
without checking flags. This short-circuits the loop to provide the
immediate count.
This allows the user to selectively disable the snap-to behavior when
placing stand-alone vias. Full solution will require an update to the
segment distance calculation that takes into account the rounded line
caps.
Fixes: lp:1769523
* https://bugs.launchpad.net/kicad/+bug/1769523
When saving a library, check and report on libraries that do not exist
as well as those that exist but are read-only.
Fixes: lp:1769190
* https://bugs.launchpad.net/kicad/+bug/1769190
Changes SHAPE_CONVEX to SHAPE_SIMPLE to better reflect the limitations.
Changes SHAPE_LINE_CHAIN::PointInside calculation to allow points
strictly inside a line chain
Fixes: lp:1768862
* https://bugs.launchpad.net/kicad/+bug/1768862
Usually pads do not overlap. However custom pads are represented as
their convex hull, so they may enclose other pads. This change allows the
router to select the closest pad to the cursor position.
The roundrect_rratio token was missing a leading space which made the
file formatting different from all other formatting when using rounded
rectangle pads.
Fixes lp:1768355
https://bugs.launchpad.net/kicad/+bug/1768355
This is particularly important when bulk adding (by director, etc.)
as otherwise the user might end up having to click OK to many
many error dialogs.
Fixes: lp:1764057
* https://bugs.launchpad.net/kicad/+bug/1764057
Also fixes a bug where a FOOTPRINT_EDIT_FRAME was being passed
in to a PCB_EDIT_FRAME.
Also tidies up Modedit settings handling for settings which can't
be edited in Modedit's preferences dialog. They're now copied
from Pcbnew.
Fixes: lp:1768477
* https://bugs.launchpad.net/kicad/+bug/1768477
This partially reverts 36d36de and 3bac100, moving the legacy footprint
lock/unlock code from the autorouter (which remains disabled) to
pcb_edit_frame.
Old code failed to set the wxEventType during acceptance, and
failed to set the default button during initialization.
Fixes: lp:1768253
* https://bugs.launchpad.net/kicad/+bug/1768253
When reading netlist or updating board from schematic, if the
changes leave a zone with a net with no pads then change the
zone's net to the new net of one of it's connections.
Also improves update-board-from-schematic's dry run reporting
to include zone nets and single-pad nets.
Fixes: lp:1609401
* https://bugs.launchpad.net/kicad/+bug/1609401
Duplicate already works, so there's little reason to disallow
using the zone dialog to do it.
The legacy canvas can't be fixed because we'll immediately
union the two zones, resulting in a no-op.
Fixes: lp:1464677
* https://bugs.launchpad.net/kicad/+bug/1464677
Corrects an error in polyline estimation
Syncs graphics to world PNS by whole layer set rather than
individual layer at a time.
Prevents reloading of full pns TOOL_BASE during reset of tools unless
the tool is being activated.
Fixes: lp:1766626
* https://bugs.launchpad.net/kicad/+bug/1766626
For some obscure (for me) reason, the path separators in bundlepath are seen as escape seq, and the path can be incorrectly handled
(when \n or \r are found in this string).
it happens only for this path, not for other paths in LoadPlugins.
For bundlepath parameter, unix separator is now used.
Fixes: lp:1766879
https://bugs.launchpad.net/kicad/+bug/1766879
it was due to a incorrect behavior of TRACK::GetBestInsertPoint( BOARD* aPcb )
Also: update comment for this method.
Fixes: lp:1767061
https://bugs.launchpad.net/kicad/+bug/1767061
This really needs to get put into the VIEW_CONTROLS for all the
tools, but that's probably a bit too risky for 5.0 at this
point.
Fixes: lp:1766547
* https://bugs.launchpad.net/kicad/+bug/1766547
Previous algorithm used a static variable which it decremented
for each new unconnected track, but this resulted in the router
marking earlier fixed segments as collisions (because they
would get set to netcode = 0 when "fixed").
Fixes: lp:1762043
* https://bugs.launchpad.net/kicad/+bug/1762043
This had been removed along with autorouter but its functionality is
still desired. If/when the autorouter is resurrected, these IDs will
need to be deconflicted.
Fixes: lp:1766550
* https://bugs.launchpad.net/kicad/+bug/1766550
Corrected polygon export missing vertex.
Set pads to export on copper layer when not masked, keeping visual
output similar to physical.
Fixes: lp:1766634
* https://bugs.launchpad.net/kicad/+bug/1766634
If the initial pad was a custom pad converted in a usual pad + graphic items by the command:
"Explode Pad to Graphic Shapes"
the "old" primitives were not cleaned, and the new created pad contained these old primitives, regardless the new selected shapes.
(Usual case when a user want to edit a custom shape)