bezier misalignment in the outline can cause 1nm segments which will
break STEP export. Use our chaining epsilon setting to get the minimum
distance that we require two points to be separated to consider them
distinct
This isn't really a problem, and overwriting the entry allows
for silent data loss by making a new assignment with the
same pattern as an existing one.
The resolve netclasses are de-duplicated later, so it's even
OK if the whole assignment is duplicated (in theory), but
continue to clean these up.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/21316
(cherry picked from commit db97d77544fcd37b7fdc4f7f52fbc77f255fb803)
It has unintended side-effects (such as showing
user drawings and user comments layers).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21428
(cherry picked from commit b2ecaf1ddc113c07518c7a421cb1dd0974fd8f0f)
e.g. "FFFF8007" does not fit into signed "long" type (4 bytes on MSVC),
so strtoul returns 0x7FFFFFFF and sets errno to EINVAL.
(cherry picked from commit 39978ab2e26c389240117f00556b7d53040824c7)
Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
Selecting the origin fby the cursor position makes it impossible
to select a item further from a grid point than another. This is
especially noticeable when selecting pins while using large grids
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10471
(cherry picked from commit 8c4c3b7e5e0c37d797ae0b4cda731d03c72b1e23)
Trimming items that don't have an "involved" real item needs to be
done at the time that the nearest point is found. Otherwise, if
there are multiple nearest points at the same location, and an
'uninvolved' one is chosen, it will later be discarded, and the
grid snap will be the fallback.
The effect of this is that grid snaps can appear to be very
agressive and also inconsistent, as it sometimes uses the item
snap (when it happens to choose an "involved" one) and sometimes not.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/21422
(cherry picked from commit 3606d25ab6f4c454bd4b4ff4f915ff6120e66ed1)
If you are moving an object, we already have the axis snap, forcing the
grid to center at the start of the move prevents us from easily aligning
elements by moving them.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18196
(cherry picked from commit 29dc45d584a882866f2f3f27a7257481043ecc84)
If the search pane doesn't handle the key, push it through the frame
hotkey handling system
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12474
(cherry picked from commit 322c08d5f0de3b9fc37c93c69db79b3f2a26efdf)
After placing a zone, we want to be able to immediately edit the zone
points. But in the zone tool, we have the intermediate context menu
that doesn't help, so breaking back to the selection tool simplifies
that workflow
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21319
(cherry picked from commit e04c5783cf1347b46c6b4dc3331e0b051ac622a5)
Speculative fix, as I couldn't reproduce. But this seems like it could
cause the reported issue, though I think ~ACTIVATION_HELPER and the
callback should both be on the same event loop, so it's not clear to me
that it is exactly the issue.
And add a wxCHECK to at least bail safely before handing a nullptr off to the
later functions.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/20693
(cherry picked from commit 8a4496f4586ec0e69b55692f034e65aefb6a8429)