46971 Commits

Author SHA1 Message Date
jean-pierre charras
bcb8c2097c BOARD::BulkRemoveStaleTeardrops(): fix bug that prevent removing a teardrop.
When a teardrop is the first zone (or the only one) in list (i.e. last tested)
it was ignored, and therefore not removed.

(cherry picked from commit ccc396a6c24e3339adff804db64ffedf327aeb70)
2025-03-12 09:51:38 +01:00
Jon Evans
028721f3ed Don't use size events for persistence
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20060


(cherry picked from commit 95e6ca44c6d28af670a59fc5f451a9a6ebfc9bc4)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2025-03-11 22:37:29 -04:00
Jon Evans
b837dc1d3b Fix build with protobuf 30
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20300


(cherry picked from commit 5774338af2e22e1ff541ad9ab368e459e2a2add2)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2025-03-11 17:33:47 -04:00
Jeff Young
3446dbbf27 Apply Damjan's rotated table fixes to PCB_TABLE::GetEffectiveShape().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20143

(cherry picked from commit b7ef57a97d378c183fda177074086dde165fb986)
2025-03-11 20:17:47 +00:00
Jeff Young
aee836d722 Don't disable first internal layer in footprint editor.
It's used as a proxy for all internal layers.

Also fixes LAYER_RANGE_ITERATOR so that it works with an odd
number of copper layers.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20246
2025-03-11 18:41:35 +00:00
Seth Hillbrand
5d9908647c Don't write empty data tags
Also avoid throwing if a data stream is empty so that you can still read
the schematic/pcb/library

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

(cherry picked from commit a6fbf4bbdbc7e08c815a4b28f14a99be48aee621)
2025-03-11 09:45:17 -07:00
Jeff Young
631c5ec01d Tables support for router.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20295

(cherry picked from commit 567da3de911040b2f563b89d770be94e65925e10)
2025-03-11 16:39:59 +00:00
Jeff Young
d92f42cdcb Check parent footprint as well for component class.
Also output more descriptive text when checking inherited
rules on parent footprint.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20281
2025-03-11 16:39:59 +00:00
Tomasz Wlostowski
a4893523e4 router: simplify post-walkaround lines 2025-03-11 13:40:14 +01:00
Tomasz Wlostowski
4dc0a31071 multichannel: possible fix for ghosting footprints when using grouping
(cherry picked from commit c05cc345f3326aa6f01c21fadc5466d2ae9494fe)
2025-03-11 13:40:14 +01:00
Tomasz Wlostowski
c65a1139cb connectivity: treat empty FPIDs as matching in TOPO_MATCH
(cherry picked from commit b1bf5127fa21d5b5c794378531d8640658a46632)
2025-03-11 13:40:14 +01:00
Tomasz Wlostowski
71aae415a4 connectivity: TOPO_MATCH now orders reference components by the lowest matching candidate count.
This heuristic seems to make the algorithm reject non-isomorphic mappings much earlier on and converges faster on a solution for typical circuits.

(cherry picked from commit 8192ba73d97d1909649d2b21da3cfb1a230ab90d)
2025-03-11 13:40:14 +01:00
Tomasz Wlostowski
7061b64319 connectivity: TOPO_MATCH now prioritizes component candidates by the ratio of matching pad nets.
This improves cloning of circuits with numerous of matching component mappings (e.g. LED matrices) by
taking preference for mappings with same order of net connections.

(cherry picked from commit 91ee987cfebce4478442adeac6906f57d3a9f424)
2025-03-11 13:40:14 +01:00
Tomasz Wlostowski
03da07767d router: refine the endpoint moving logic so that it doesn't block shoving
(cherry picked from commit b4d29a98f97b7bbee1284617803e63c164acb6aa)
2025-03-11 13:40:14 +01:00
Tomasz Wlostowski
f3c5b21b1b router: fix regression in post-shove optimization
Note to self: we keep track of the formerly pushed vias in the line stack, but pruning one from the optimizer queue should not prune the lines attached to it.

(cherry picked from commit 78fc95fd6df04e61a2eb2982d2eabc7451458cf8)
2025-03-11 13:40:14 +01:00
Tomasz Wlostowski
69eb81196d router: prevent assertion fail in MULTI_DRAGGER
Fixes https://gitlab.com/kicad/code/kicad/issues/20075

(cherry picked from commit 9e4947ed36659b443af078d48fda2ca2b5f4a89c)
2025-03-11 13:40:14 +01:00
Tomasz Wlostowski
f23b06de27 router: prevent disconencting via fanout traces when shoving
Note to self: move-endpoints fallback mode must check for vias connected at the obstacle LINE's ends - fallback is only applicable for unconnected ends.

(cherry picked from commit 29a4ec0fde1fc3b978a43b3bbd32f1da9e787f81)
2025-03-11 13:40:14 +01:00
Tomasz Wlostowski
badaac9366 router: improved shove litter fix
Note to self: managing the shove stack is quite challenging and there were a few corner cases
where reverse via/segment collisions would cause a head segment (or a via) to have multiple clones in the stack.
As SHOVE::removeHeads() took only complete head lines, sometimes it resulted with stray vias/segments.

Fixes https://gitlab.com/kicad/code/kicad/issues/19045

(cherry picked from commit bfbdfcf872bfcbca5431f5429807425268492ac8)
2025-03-11 13:40:14 +01:00
Jon Evans
215c3fdf77 Switch to operator= for item updates
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20206


(cherry picked from commit d0b22d21bb27f680941a52ca25c1bde683107c30)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2025-03-10 19:19:55 -04:00
dsa-t
b658031b8c Don't translate wxFileDialog "All Files" filter.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20297


(cherry picked from commit c4655da4e6dd4133f9e6a6a9905bfe3985df7a29)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-03-10 16:07:01 +03:00
Jeff Young
02b756189b Formatting.
(cherry picked from commit e163c40e54603b85b61abdd67365f5ce15733fc3)
2025-03-09 18:18:32 +00:00
Jeff Young
d2af56597e DRC for tables. (And some fixes for dimensions.)
(cherry picked from commit a468c486eb47e4dbff52d812da19cf4ad0a88f49)
2025-03-09 18:18:32 +00:00
Jeff Young
f862eea1b9 Group members are still children of the board (not
the group).

(cherry picked from commit 4b38932129c129ffaf3a2e842318314edb1c4310)
2025-03-09 18:18:32 +00:00
Alex Shvartzkop
73f495c67d Update translations 2025-03-09 19:05:14 +03:00
dsa-t
b46780ad46
Translated using Weblate (Turkish)
Currently translated at 53.6% (5339 of 9953 strings)

Translation: KiCad EDA/v9
Translate-URL: https://hosted.weblate.org/projects/kicad/v9/tr/
2025-03-09 17:03:59 +01:00
Argeolog
9762fb855d
Translated using Weblate (Turkish)
Currently translated at 53.6% (5340 of 9953 strings)

Translation: KiCad EDA/v9
Translate-URL: https://hosted.weblate.org/projects/kicad/v9/tr/
2025-03-09 17:01:51 +01:00
Argeolog
9d156891c6
Translated using Weblate (Turkish)
Currently translated at 53.4% (5324 of 9953 strings)

Translation: KiCad EDA/v9
Translate-URL: https://hosted.weblate.org/projects/kicad/v9/tr/
2025-03-09 16:37:45 +01:00
Argeolog
b73b154abc
Translated using Weblate (Turkish)
Currently translated at 53.4% (5315 of 9953 strings)

Translation: KiCad EDA/v9
Translate-URL: https://hosted.weblate.org/projects/kicad/v9/tr/
2025-03-09 16:33:20 +01:00
Wellington Terumi Uemura
1d9a5c33ca
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (9953 of 9953 strings)

Translation: KiCad EDA/v9
Translate-URL: https://hosted.weblate.org/projects/kicad/v9/pt_BR/
2025-03-09 16:33:20 +01:00
ZbeeGin
12dac14ba6
Translated using Weblate (Polish)
Currently translated at 99.7% (9931 of 9953 strings)

Translation: KiCad EDA/v9
Translate-URL: https://hosted.weblate.org/projects/kicad/v9/pl/
2025-03-09 01:47:31 +01:00
CloverGit
116aa3d344
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.8% (9942 of 9953 strings)

Translation: KiCad EDA/v9
Translate-URL: https://hosted.weblate.org/projects/kicad/v9/zh_Hans/
2025-03-09 01:47:31 +01:00
Rigo Ligo
7219a5dd77
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.8% (9942 of 9953 strings)

Translation: KiCad EDA/v9
Translate-URL: https://hosted.weblate.org/projects/kicad/v9/zh_Hans/
2025-03-09 01:47:31 +01:00
co8 j
729d14827e
Translated using Weblate (Japanese)
Currently translated at 99.9% (9949 of 9953 strings)

Translation: KiCad EDA/v9
Translate-URL: https://hosted.weblate.org/projects/kicad/v9/ja/
2025-03-09 01:47:31 +01:00
Henrik Kauhanen
e8ec50e04c
Translated using Weblate (Swedish)
Currently translated at 99.9% (9952 of 9953 strings)

Translation: KiCad EDA/v9
Translate-URL: https://hosted.weblate.org/projects/kicad/v9/sv/
2025-03-09 01:47:30 +01:00
Marco Ciampa
8b2e70afb0
Translated using Weblate (Italian)
Currently translated at 96.0% (9557 of 9953 strings)

Translation: KiCad EDA/v9
Translate-URL: https://hosted.weblate.org/projects/kicad/v9/it/
2025-03-09 01:47:30 +01:00
Henrik Kauhanen
21384b64f7
Translated using Weblate (Finnish)
Currently translated at 99.1% (9870 of 9953 strings)

Translation: KiCad EDA/v9
Translate-URL: https://hosted.weblate.org/projects/kicad/v9/fi/
2025-03-09 01:47:30 +01:00
CloverGit
184798b770
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.8% (9939 of 9953 strings)

Translation: KiCad EDA/v9
Translate-URL: https://hosted.weblate.org/projects/kicad/v9/zh_Hans/
2025-03-09 01:47:30 +01:00
dsa-t
f93a954c7b
Translated using Weblate (Russian)
Currently translated at 100.0% (9953 of 9953 strings)

Translation: KiCad EDA/v9
Translate-URL: https://hosted.weblate.org/projects/kicad/v9/ru/
2025-03-09 01:47:30 +01:00
JamesJCode
a69d6a129a Mirror netclass DRC expression semantics for component classes
With this change, "A.Component_Class == 'SOME_CLASS'" will return
true if either SOME_CLASS exists in the list of component classes
attached o the footprint, or if SOME_CLASS is the full component
class name.

(cherry picked from commit 85e6978aa271528952427812bbc404d2341c4ff6)
2025-03-08 22:20:55 +00:00
Jeff Young
491af0df39 When following board or plot settings, write results to current config.
Also adds migration from older layer numbers to strings.
This may require users to dump their 9.0 settings files
(which will have the wrong layer numbers in them), but
those files are often useless anyway as they'll already
have messed up colours if they were migrated from 8.0.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18709
2025-03-08 19:10:39 +00:00
jean-pierre charras
34458cf738 Pcbnew: remove dead code.
The export SVG dialog was removed some time ago (merged with plot svg).
But some settings of this removed dialogs were not removed.

(cherry picked from commit 9a1cf81ca655374cbeee031a7e41d8200826b91d)
2025-03-08 13:35:15 +01:00
jean-pierre charras
809948333e Fix compil warnings
(cherry picked from commit 9d1b320896db66a13de468415bd6ebc08bbd6d38)
2025-03-08 09:42:15 +01:00
Seth Hillbrand
1a6160b132 Removed shared_ptr circular references
When A references B and B references A, the shared pointer reference
count will never go to zero by just removing the parent container.  We
need to explicitly clear the shared pointer references when we are done

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

(cherry picked from commit 641e06e67c4358283eb35de7ffa269246e01d1a2)
2025-03-07 17:31:32 -08:00
JamesJCode
51f588b55b Check for constituent netclasses in DRC netclass equality checks
This reverts previous behaviour whereby 'A.Netclass == x' compared
the full name of an effective netclass (e.g. 'Class1,Default'). This
was found to be unexpected behaviour to users, who were expecting
the equality to compare single netclasses. The equality check now
first checks for a constituent class with the given name, and then
falls back to a check of the full class name.

Inequality requires the netclass name being tested to not be a
constituent netclass and to not be the full class name.

(cherry picked from commit f0e287a87b070c29d7467b911d1280ebdabaefe6)
2025-03-07 23:57:13 +00:00
Seth Hillbrand
1effbe5d01 Prevent ERC error with NC pin+NC marker
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20222

(cherry picked from commit 4f6a73d83c018891892f522d434c18e9f8788710)
2025-03-07 15:26:06 -08:00
Seth Hillbrand
50711b1294 Revert "Allow a no-connect to connect to a single pin (but not multiple pins)."
This reverts commit ee4a6127c6bed91f0d153983b8dc88da1e3375f1.

(cherry picked from commit 2b557c5497abde6c078b6037671b115f12d11500)
2025-03-07 15:25:53 -08:00
Damjan
b3ba8d78b5 pcbnew: table rotation: table jumps if rotation ends at 180°
(cherry picked from commit bded181ad084653605e672f8e903a336148e155d)
2025-03-07 20:39:59 +00:00
Jeff Young
11df4b32eb Fix merge mess-up.
(cherry picked from commit 727fc9bd064e9349bd01501e210eb55e6b0207f9)
2025-03-07 19:00:46 +00:00
Jeff Young
1de9a83ff0 Printing is not zoom-specific.
(Some of these items don't currently get printed, but
there's no sense in leaving a latent bug around in case
we ever change our minds.)

(cherry picked from commit 877c6bce8938e9ca6e3d3c6381a5dd5d9acfb9a4)
2025-03-07 19:00:10 +00:00
Jeff Young
25de338bdd Support ctrl-delete for delete word forward.
(On non-Macs, anyway.  Mac doesn't appear to use this
paradigm.)

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

(cherry picked from commit ce5469b95e32d7894a43d4bdd84514dd38ddba4c)
2025-03-07 19:00:05 +00:00