48134 Commits

Author SHA1 Message Date
Wayne Stambaugh
440e8c9669 Tag stable version 9.0.4 release candidate 1. 9.0.4-rc1 2025-08-08 14:22:07 -04:00
Seth Hillbrand
111c4fec5b Do not create teeny segments in outline
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
2025-08-08 09:20:44 -07:00
John Beard
acb005f044 Netclass: allow multiple assignments with the same pattern
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)
2025-08-08 22:46:35 +08:00
JamesJCode
9af8594db9 Ignore empty net class fields in net class ERC
(cherry picked from commit 88c09517f23d5736c85845e177361b13342bea80)
2025-08-08 14:37:34 +01:00
John Beard
dcb8f7f9c7 Pcbnew: fix outline drawing of PTH pads
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/21448
(cherry picked from commit 6bdfe2bce6f464074180d79b1040c5f2a3b2ad2c)
2025-08-07 23:07:28 +08:00
Mark Roszko
143819d735 Use the full bitmap bundles in ACTION_MENU 2025-08-06 20:42:37 -04:00
John Beard
57d10fde70 Eeschema: fix alt mode resetting on symbol update
GetName is the alt name if it's set, so use GetBaseName.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/21439
(cherry picked from commit a8d69c856fc0661591b9768782de02cd61a978b6)
2025-08-07 01:19:23 +08:00
John Beard
41a3516f18 Eeschema: fix alt pin icon/OP current preference resetting
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/21440
(cherry picked from commit 80232278299997fe49c1eab4dd5673234671485c)
2025-08-07 01:02:25 +08:00
Jeff Young
ac270d16eb Don't set m_IsPreviewer to force 3D models.
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)
2025-08-06 11:23:52 +01:00
dsa-t
39d2499cd7 Fix erroneous hex parsing when opening legacy PCB files on MSVC.
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>
2025-08-05 23:14:41 +03:00
Jeff Young
4f59aaf2be Fix broken tentvias read logic.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20840
2025-08-05 16:20:41 +01:00
Jeff Young
462c7673eb Frame needs an extra kick to toggle grid visibility.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21409

(cherry picked from commit dc7312efd6a9b9891fceb3615f6db68319f163e5)
2025-08-05 16:20:41 +01:00
Alex Shvartzkop
a46f75eed2 Update translations 2025-08-05 15:14:47 +03:00
CloverGit
28d4ba54fb
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.9% (10054 of 10062 strings)

Translation: KiCad EDA/v9
Translate-URL: https://hosted.weblate.org/projects/kicad/v9/zh_Hans/
2025-08-05 14:13:44 +02:00
dsa-t
e0fe0411f9
Translated using Weblate (Russian)
Currently translated at 100.0% (10062 of 10062 strings)

Translation: KiCad EDA/v9
Translate-URL: https://hosted.weblate.org/projects/kicad/v9/ru/
2025-08-05 14:13:44 +02:00
2tama3
6fad082d45
Translated using Weblate (Japanese)
Currently translated at 100.0% (10062 of 10062 strings)

Translation: KiCad EDA/v9
Translate-URL: https://hosted.weblate.org/projects/kicad/v9/ja/
2025-08-05 14:13:44 +02:00
Alex Shvartzkop
44ef026f1c Update generated custom DRC rules help files, required for Weblate. 2025-08-05 15:05:58 +03:00
Alex Shvartzkop
e43bc82053 Revert "Ignore autogenerated files"
This reverts commit 83b8bdf137a8678dad15ee7c277ddc40d521c6fe.
2025-08-05 14:37:51 +03:00
Jon Evans
997cee8120 pcbnew/api: Expose pad-to-die length
Closes #21346.


(cherry picked from commit 29c733c651fc1077fab2c71a44b9d64d4a3a0b87)

Co-authored-by: Ben Gamari <ben@smart-cactus.org>
2025-08-04 21:01:08 -04:00
John Beard
026280780c Pcbnew: when moving, select move origin by mouse, not cursor
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)
2025-08-05 04:35:00 +08:00
John Beard
1bb42bcb59 Pcbnew: improve snapping: avoid cases where a valid snap is excluded
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)
2025-08-05 04:34:59 +08:00
Seth Hillbrand
7b602142b1 Remove the forced ancillary grid
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)
2025-08-04 12:01:24 -07:00
Seth Hillbrand
2e5be57499 Pass hotkeys from search pane to frame
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)
2025-08-04 11:58:44 -07:00
Seth Hillbrand
dc0b408eeb Optimize zone-zone clearance checks
Improve the CREEPAGE_GRAPH:::GeneratePaths to skip unused checks.
Handle zone-zone paralellism better

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21353

(cherry picked from commit faeaee824ad13afd447d9762127979b0fbfc99bc)
2025-08-04 11:47:17 -07:00
Seth Hillbrand
4360db3a09 Break out of the zone tool on complete
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)
2025-08-04 11:45:16 -07:00
Seth Hillbrand
a4e95c500f Prevent command line applications handling dark mode
Double-check before getting background color from invalid m_parent also

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21317

(cherry picked from commit 9cb3a37b6f97b58fc1b29411bdc5a55d34603aee)
2025-08-04 11:44:23 -07:00
Salvador E. Tropea
541a727e15 Always use PCB_PLOTTER::PlotJobToPlotOpts for plotter exports
Removes PCBNEW_JOBS_HANDLER::populateGerberPlotOptionsFromJob
2025-08-04 07:23:50 -04:00
John Beard
de31b133e1 Pcbnew: fix mistaken angle int cast in arc properties
(cherry picked from commit 2b69e118e07c1286c576619b88e81443ce695fe1)
2025-08-04 17:42:19 +08:00
Jeff Young
d6e5d7b6be More discriminatory test for 2-1/2 digits after decimal. 2025-08-03 21:35:13 +01:00
jack2bs
b7f823227e bitmap2component: Adding file drag and drop
(cherry picked from commit 8c017c7503d530d0fb7900360bed033ac80eb12b)
2025-08-03 10:02:39 -04:00
Jeff Young
c1f3b5aab9 nullptr safety
(cherry picked from commit 57f3f22aa4bd4ebd0936760a0771bb11dda7ed06)
2025-08-03 13:32:54 +01:00
Jeff Young
e27424d1b4 Attempt to fix non-Clang builds.
(cherry picked from commit 25ad1f051ea2f61cbddc5993fdcbbed6f31a2679)
2025-08-03 13:32:31 +01:00
Jeff Young
09cbdd8db7 Support dash-dot-dot line style in DXF.
Fixes KICAD-TY8.

(cherry picked from commit 91b7bc08436959ea43f61b58a0df6e8fe1cc3d93)
2025-08-03 13:31:14 +01:00
Jeff Young
c0c8910207 Move search handlers to std::shared_ptr.
(cherry picked from commit 5accdc2d9426fc52629dacfdb8b94f5fd57a73c7)
2025-08-03 13:31:09 +01:00
Jeff Young
23f1e287aa See if copying netclasses is responsible for KICAD-V6Z (and others).
(cherry picked from commit a75fd2bb23585d4df50f00e6df8979fe19b1f333)
2025-08-03 13:30:22 +01:00
Jeff Young
68f4a6117e Copy c'tor / operator= safety.
Also fixes a memory leak of search pane handlers.

(cherry picked from commit 8c85cd43f3f273ab9117530d5f1a60ee8e195061)
2025-08-03 13:09:58 +01:00
Jeff Young
3bdeb84b51 Don't allow default copy c'tor to copy arrays of pointers.
Fixes KICAD-SJ2.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21408

(cherry picked from commit d91cce930f83723869b39cfa13896e8fb34a2937)
2025-08-03 12:54:24 +01:00
Jeff Young
b907fe412f Don't attempt to fetch last char of empty string.
Fixes KICAD-5ED.
Fixes KICAD-RC1.
Fixes KICAD-W0B.

(cherry picked from commit ed40391bde3e5d2d2070f8d1b36485a288a6123f)
2025-08-01 17:40:04 +01:00
Jeff Young
25d89307c9 Nullptr safety.
Fixes KICAD-P7Q.

(cherry picked from commit ac3eac9ed01b47f8bc8d77f5e8e1b2dfa32b25db)
2025-08-01 17:40:04 +01:00
Jeff Young
d917ff6893 Don't assume a tree root.
Fixes KICAD-Y72.

(cherry picked from commit 6c6c02a329b1ddad9d132bb682b3596bfb0bb528)
2025-08-01 17:40:04 +01:00
Jeff Young
0da6ca2300 Don't clip table borders.
(cherry picked from commit 6ac5ca7fc4f05e436e3e4c9078efaacd9582d242)
2025-08-01 17:40:04 +01:00
Jeff Young
f27ed9857c Bump short-form-mm from 2 digits after decimal to 2-1/2.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21357

(cherry picked from commit b1e686be97dc4cc7d475d3e09164080552214d9d)
2025-08-01 17:40:04 +01:00
Jeff Young
d88e5972e7 Similar local labels on different sheets are fine
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21334

(cherry picked from commit 3eb66e1b3da5847372f8221a4696a103451fd7e9)
2025-08-01 17:40:04 +01:00
Jeff Young
6867a77da0 Prevent stale selections.
(cherry picked from commit fa7d67d80ad6fd6eb9fbc26f882f8c6eb447e431)
2025-08-01 17:40:04 +01:00
Jeff Young
6e4ca91229 Formatting.
(cherry picked from commit 7a4107b985f8f2367045075b11c1b35f836416f9)
2025-08-01 17:40:03 +01:00
John Beard
6f11df5ad6 Pcbnew: prevent a timer callback happening during ACTIVATION_HELPER destruction
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)
2025-08-01 21:25:43 +08:00
Marek Roszko
e610bc7ec5 Allow QA to create new SCHEMATIC instances rather than reusing a single container
Why make cleanup complicated lol
2025-07-31 23:48:32 -04:00
Marek Roszko
480c2f0277 Use m_project member instead of Prj() inside SCHEMATIC 2025-07-31 23:47:04 -04:00
Marek Roszko
e49d44ea25 Remove the callback on RecomputeIntersheetRefs 2025-07-31 23:44:55 -04:00
Marek Roszko
e29df06568 Split part of RecalculateConnections to SCHEMATIC, fix cli loader to call RecalculateConnections which fixes rules areas
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20528
2025-07-31 23:43:18 -04:00