Commit Graph

13093 Commits

Author SHA1 Message Date
Jeff Young f891c4641b We were saving the old board pointer, but not updating the current one.
This also makes a few other adjustments to order and to where we look
for the enabled layers which should make it more robust.

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

(cherry picked from commit 631980b0ab)
2022-10-19 18:17:40 +01:00
Jeff Young a65fc7f82a Pin 0-sized pads at 1um rather than throwing them out.
(See bug report for more commentary.)

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

(cherry picked from commit 46a41e2e34)
2022-10-19 18:15:49 +01:00
Jeff Young 5bcd0a5828 Update router sizes when switching layers.
We may have layer-specific rules involved.  Note that at some point
we also need to do something similar on every "fix route" step to
handle area-specific rules.

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

(cherry picked from commit d8a3ba7917)
2022-10-19 14:47:08 +01:00
Jeff Young 74d8040e8c Force flashing when generating SOLIDs.
We only have a single SOLID per pad, so the solid's shape must always
be the flashed shape and then we can do layer-specific flashing tests
internally.

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

(cherry picked from commit 08260661b8)
2022-10-19 14:43:13 +01:00
Jeff Young c5514d43c7 Don't reset editPad if it still exists after model reset.
Fixes https://gitlab.com/kicad/code/kicad/issues/12630

(cherry picked from commit 8b9cbd5805)
2022-10-19 14:42:16 +01:00
Jeff Young 0704e37eb5 Make sure a collector has a guide before handing it to a client filter.
Fixes https://gitlab.com/kicad/code/kicad/issues/12460

(cherry picked from commit 1566bd8b14)
2022-10-19 14:41:30 +01:00
Jeff Young c94de31a8c Try to reconcile SELECTION and BRIGHTENED use of overlay.
For some reason the overlay doesn't get redrawn during the PCBNew
selection disambiguation menu, so we need to not hide BRIGHTENED
items.

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

(cherry picked from commit 436d75e7f9)
2022-10-19 14:40:07 +01:00
Jeff Young 2793e67bab Bring adding-to-group and hiding in sync.
(cherry picked from commit 6a6ef9b1f4)
2022-10-19 14:39:45 +01:00
Jeff Young 3213ea582d Avoid trying to draw empty pads.
Fixes https://gitlab.com/kicad/code/kicad/issues/12605

(cherry picked from commit e866dfe137)
2022-10-19 14:38:40 +01:00
Jeff Young 6003097411 Areas might have layers defined in area as well as rule.
Fixes https://gitlab.com/kicad/code/kicad/issues/12584

(cherry picked from commit 51c20da93e)
2022-10-19 14:34:22 +01:00
Jeff Young 6390633a7b Use GetCurrentNets(), not m_startItem for message panel updates.
Fixes https://gitlab.com/kicad/code/kicad/issues/12592

(cherry picked from commit cbb997a3b5)
2022-10-19 14:28:06 +01:00
Jeff Young dde5f2bed1 Respect DRCEpsilon in diff-pair coupling test.
Fixes https://gitlab.com/kicad/code/kicad/issues/12587

(cherry picked from commit 9119b5072a)
2022-10-19 14:26:19 +01:00
Jeff Young 914e396e2e Implement annular ring checking for pads.
Fixes https://gitlab.com/kicad/code/kicad/issues/12109

(cherry picked from commit 9a4136de00)
2022-10-19 13:49:40 +01:00
Jeff Young f6bdd40c30 Manual cherry-pick of ba630971af. 2022-10-19 13:31:16 +01:00
Jeff Young da85a5f6bf Work around more instances of the wxWidgets color string locale bug.
Fixes https://gitlab.com/kicad/code/kicad/issues/12552

(cherry picked from commit c0a666507c)
2022-10-19 12:56:17 +01:00
Seth Hillbrand 61cfe53be1 Correctly sort positions for default align
When not aligning under mouse cursor, choose the X-most element where X
is top/bottom/left/right.  Previous sorting was not correct for two
directions

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

(cherry picked from commit 697056fa7e)
2022-10-14 16:15:51 -07:00
Seth Hillbrand 292492bd01 Prevent crashes when canceling duplication
Duplicating multiple footprints, moving and then pressing Esc could
crash when we attempt to re-select the original items.  This allows
bypassing the issue when running from the duplication tool
2022-10-13 16:32:56 -07:00
Jeff Young f1029b7280 We don't always have a line when dragging.
Fixes https://gitlab.com/kicad/code/kicad/issues/12612

(cherry picked from commit b2f05c758b)
2022-10-13 09:15:24 -07:00
Alex 238c8df8b5 Fix crash on Specctra import.
Fixes https://gitlab.com/kicad/code/kicad/issues/12583


(cherry picked from commit 2741d0eb4b)
2022-10-10 18:37:59 +00:00
Seth Hillbrand bf0b80d676 Remove errant new string 2022-10-07 11:37:28 -07:00
Seth Hillbrand e834374ad2 Drill size is absolute
Use hole plating size for visibility only, not zone filling, routing or
DRC

(cherry picked from commit b4f3390626)
2022-10-04 10:00:36 -07:00
Seth Hillbrand 981aafd5d9 Allow non-named tool in Remove()
The tool command string was optional and not set when calling Remove()
through the Cut action.  Referencing the value causes unhandled
assertions.  We don't actually need the value because we don't pop
anything without a match.  The empty string will not match

Fixes https://gitlab.com/kicad/code/kicad/issues/12562
2022-10-02 13:43:33 -07:00
jean-pierre charras 09960caa66 Apply commit e73dd40f from master to this branch.
(APPEARANCE_CONTROLS: fix incorrect behavior of Preset layers widget in non English languages)
fixes #12227
2022-10-02 17:57:02 +02:00
Jeff Young cf6fd64758 Remove wxFloatingPointValidator which causes issues in some locales.
Fixes https://gitlab.com/kicad/code/kicad/issues/12176
2022-10-02 13:00:20 +01:00
Jeff Young 22e9985f5d Use more basic strings which have already been translated. 2022-09-29 23:58:35 +01:00
Jeff Young 8cbfd8af9f Files missing from earlier commit. 2022-09-28 15:10:28 +01:00
Jeff Young c16e86be9a Use router's connectivity algorithm, not CONNECTIVITY_DATA's.
Fixes https://gitlab.com/kicad/code/kicad/issues/10745

(cherry picked from commit 107f409106)
2022-09-28 15:01:29 +01:00
Jeff Young b0e2aeb972 Apply the same accuracy band to connectivity as we use for hittesting.
Fixes https://gitlab.com/kicad/code/kicad/issues/10745

(cherry picked from commit 9cf3c529d3)
2022-09-28 14:58:43 +01:00
Jeff Young fc06192643 More improvements to drag tool selection disambiguation.
Fixes https://gitlab.com/kicad/code/kicad/issues/10745

(cherry picked from commit 2743fd583f)
2022-09-28 14:57:22 +01:00
Jeff Young 2faaa0a042 Improve drop-a-knee-selection-to-a-single-segment algorithm.
In particular, don't rely on there being only two items in the
collector at the start.

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

(cherry picked from commit a619ef9d53)
2022-09-28 14:56:11 +01:00
Jeff Young 6d25e57cd7 Allow free pad usage in router.
Fixes https://gitlab.com/kicad/code/kicad/issues/11730

(cherry picked from commit 7c83c78afe)
2022-09-28 14:49:44 +01:00
Jeff Young 7dfa715a45 Bug fixes for layer expression processing.
1) Push a VAR onto the stack, not a resolved value
2) Don't collapse a PCB_LAYER_VALUE to a VALUE during processing
3) Make sure we run overloaded operators from the correct side

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

(cherry picked from commit cf1565a16a)
2022-09-28 14:00:25 +01:00
Jeff Young e8a10939b5 Fix old copy/paste error (from 2017, believe it or not).
Fixes https://gitlab.com/kicad/code/kicad/issues/11487

(cherry picked from commit d9f75556bd)
2022-09-28 13:55:44 +01:00
Jeff Young 44ec38ad2d Fix logic around Select All inside an entered group.
Fixes https://gitlab.com/kicad/code/kicad/issues/12411

(cherry picked from commit 2d3b8d6393)
2022-09-28 13:31:16 +01:00
Jeff Young 4a5fdd4214 Display crosshairs in picker tools.
Fixes https://gitlab.com/kicad/code/kicad/issues/10183

(cherry picked from commit 0a5ca5b485)
2022-09-28 13:29:32 +01:00
Jeff Young fe7ed364b6 Allow vias to connect <no net> tracks even when DRC checking is on.
Fixes https://gitlab.com/kicad/code/kicad/issues/12403

(cherry picked from commit eaccd40c75)
2022-09-28 13:26:12 +01:00
Jeff Young e21995c401 Prune pasted data of non-enabled layers.
Fixes https://gitlab.com/kicad/code/kicad/issues/11997

(cherry picked from commit 5b3bd9be83)
2022-09-28 12:47:14 +01:00
Seth Hillbrand c45aa734b0 Fix missing DRC via/track check
Depending on pointer ordering, the via/track clearance check might not
run as we were only checking when the first element was a track not via.

Re-written version of 0150655ed3 for v6
2022-09-20 15:32:55 -07:00
Seth Hillbrand 73d00cc5d7 Remove extra new string 2022-09-07 14:36:34 -07:00
Roberto Fernandez Bautista 2393165ada CADSTAR PCB: Fix regression when loading pads in footprints
Zero sized pads can be valid - e.g. a through hole pad

(cherry picked from commit fa5dc23797)
2022-09-06 20:29:49 +02:00
Tomasz Wlostowski e593e0b014 router: somewhat improved stop-if-walk-path-is-too-long heuristic in the walkaround algorithm 2022-09-06 11:06:38 -07:00
Tomasz Wlostowski 42dae1504a router: fix negative chamfer value for hulls generated for 0-length segments 2022-09-06 11:06:31 -07:00
Seth Hillbrand 440d324c9e Don't prevent immediate actions while router active
Immediate actions that can take place are useful.  We should only be
preventing immediate actions while actively routing or dragging

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

(cherry picked from commit 91fbb5c957)
2022-09-06 11:04:33 -07:00
Seth Hillbrand 29cadaf54e Force removal of zero-sized pads on load.
Pads with zero width or height cause issues when rendering and
selecting.  KiCad has never allowed these elements but hasn't prevented
importing systems where they exist.  This prevents their import and
cleans existing designs where the pads are placed

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

(cherry picked from commit 2ee65b2d83)
2022-09-06 11:03:41 -07:00
Seth Hillbrand b72675ba92 Allow board saves without modifying project files
Without the project files, certain settings will not be saved by this
python call.  This defaults to false (current behavior) but setting the
`aSkipSettings` to true will revert to v5 behavior

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

(cherry picked from commit 8418fe12d8)
2022-09-06 10:18:24 -07:00
jean-pierre charras 83f135315c 3D models list in footprint properties: fix issue when a lot of 3D models is added
From master branch
2022-09-06 17:33:09 +02:00
Roberto Fernandez Bautista 07481cd4ca CADSTAR PCB: Invert logic for guessing which layer is top / bottom
Ensures correct automatic layer mapping is applied to the design in
https://gitlab.com/kicad/code/kicad/-/issues/12349

(cherry picked from commit 9abf3438b8)
2022-09-04 01:03:55 +02:00
Roberto Fernandez Bautista 8a9ee0f9e1 CADSTAR PCB: Load 2-point polygons as line segments
Fixes asserts when loading design from https://gitlab.com/kicad/code/kicad/-/issues/12349

(cherry picked from commit c961624d43)
2022-09-04 01:03:55 +02:00
Roberto Fernandez Bautista 9a823ca61b CADSTAR PCB: Parse Teardrops
Todo: We need to figure out how we will load teardrops. For now
just drop them on import.

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

(cherry picked from commit 21b3753e9b)
Edited to remove string changes
2022-09-04 01:03:51 +02:00
Jeff Young e25d937fd8 Null-ptr safety for diff-pair-coupling test.
Fixes https://gitlab.com/kicad/code/kicad/issues/12329

(cherry picked from commit 854acd4c77)
2022-09-02 01:18:18 +01:00