Jeff Young
bfdbf969c2
Handle DXF arcs with a flipped coord system.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14905
(cherry picked from commit 75b160e83a
)
2023-08-31 12:37:44 +01:00
Jeff Young
7d409b9404
Minor cleanup and removal of stale comments.
...
Also attempts to fix a focus-loss bug on GTK after zone dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13221
(cherry picked from commit 3f26b29aa2
)
2023-08-31 12:37:44 +01:00
Jeff Young
7673f220a9
Minor cleanup and removal of stale comments.
...
(cherry picked from commit c48084bbbf
)
2023-08-31 12:37:44 +01:00
Jeff Young
27657e00fe
Handle dimensions and textboxes when plotting contours to DXF.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11901
(cherry picked from commit 83fe3576c6
)
2023-08-31 12:37:44 +01:00
Alex Shvartzkop
9672390104
Fix a search pane crash when a row isn't in the hit list.
...
Fixes KICAD-Q7
Fixes KICAD-1A6
Cherry-picked from f071dd1406
2023-08-26 00:53:14 +03:00
Alex Shvartzkop
33c2005c18
EAGLE import: fix crash when loading unknown signal class name.
...
Fixes KICAD-3FA
Cherry-picked from 0fcf9e2c7d
and 331176744c
2023-08-26 00:47:43 +03:00
Alex Shvartzkop
3e1309110e
EAGLE import: fix crash when loading a polygon.
...
Fixes KICAD-TW
(cherry picked from commit bfb6269f0a
)
2023-08-26 00:41:50 +03:00
jean-pierre charras
0f93752f14
Revert "Record hole knockouts in zone filler earlier"
...
This reverts commit 1ccaf45740
.
Breaks sone thermal shapes.
Not needed after Clipper2 update.
2023-08-25 07:35:06 +02:00
Marek Roszko
2209f5e93b
Fix accidental plotting of disabled textbox borders
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15252
2023-08-24 21:14:27 -04:00
Marek Roszko
a17cd9d054
Make VRML use board edge bounding box for parity with step
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15472
2023-08-24 20:42:58 -04:00
Alex Shvartzkop
4497aaa3fa
Prevent crash when a python script tries to use pcbnew too early.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15414
(cherry picked from commit b1b66f66f4
)
2023-08-25 00:17:03 +03:00
jean-pierre charras
45963a3443
Step export: fix incorrect Z position of holes, after code change.
...
Fixes #15467
https://gitlab.com/kicad/code/kicad/-/issues/15467
2023-08-21 14:48:48 +02:00
Jeff Young
df63f47deb
Save color settings after modification in Appearances Manager.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15390
(cherry picked from commit 1cbc6e33db
)
2023-08-19 20:09:47 +01:00
Jeff Young
c521efa35d
Move checking for null parent higher.
...
(Otherwise we set the failure flag without telling the user why.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15415
(cherry picked from commit 6a6e839cc4
)
2023-08-19 20:09:47 +01:00
jean-pierre charras
691931f74d
kicad-cli, export plot PDF and SVG: add missing option --drill-shape-opt.
...
It allows pad/via holes to ber plotted at actual size, small size, or not.
This option exists in GUI, but was missing in kicad-cli.
(cherry picked from commit f18feb2a46
)
2023-08-19 10:56:32 -04:00
Jeff Young
4481e89046
Fix incorrect assumption about Eagle spoke rotation.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15428
(cherry picked from commit 25b9a9de7e
)
2023-08-17 11:49:58 +01:00
Jeff Young
8120e47bfd
Better fidelity for Eagle thermal spokes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15428
(cherry picked from commit a58547dde5
)
2023-08-17 11:49:58 +01:00
jean-pierre charras
246be732a1
Pcbnew, DIALOG_PAD_PROPERTIES: ensure the right spoke angle is displayed.
...
From master, commit d8ba6c07ac
2023-08-17 08:04:18 +02:00
Marek Roszko
27a0bd2535
Backport changes to merge distance for step export
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14910
2023-08-16 22:12:55 -04:00
Jeff Young
1ef90c898e
Don't allow selection of footprint dimensions.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15418
(cherry picked from commit 750b92b17f
)
2023-08-15 17:54:00 +01:00
Jeff Young
cf133975c1
Avoid edge cases on very wide thermal spokes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15280
(cherry picked from commit 1cbef0157d
)
2023-08-15 17:53:35 +01:00
Jeff Young
83624acfd2
Allow GetLayer() to be used with single-layer zones.
...
Also fixes a bug in GetFirstLayer() where we were checking
m_layerSet.size() (which is always 60) rather than
m_layerSet.count() (which is the number of set layers).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15233
(cherry picked from commit 8bb895373a
)
2023-08-15 17:51:52 +01:00
Jeff Young
d915ddc647
Fix missing variable initialization.
...
(cherry picked from commit b401c214f5
)
2023-08-15 17:30:38 +01:00
Jeff Young
61b741c34e
Re-entrancy guard for length tuner tool.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15268
(cherry picked from commit 620b6b7169
)
2023-08-15 17:30:02 +01:00
Jeff Young
aa1910a834
Re-implement some commented-out hole clearance checking in router.
...
(cherry picked from commit 5e18287ff9
)
2023-08-15 17:29:22 +01:00
Jan Mrázek
8451e6dcf1
Fix failure on multiple DRC runs via scripting
...
(cherry picked from commit 2d010278ad
)
2023-08-15 01:40:04 +00:00
Jon Evans
88dfe6eb9c
Stricter API for LIB_TABLE
...
Prevent nickname map or row parent getting out of sync
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15315
(cherry picked from commit 4c4bbdc8f3
)
2023-08-15 01:39:09 +00:00
jean-pierre charras
c4914a64bb
PCB_GRID_HELPER::BestSnapAnchor() fix overflow due to use of int.
...
GRID_HELPER::GetVisibleGrid() needs double, does not work with int (overflow).
Fixes #15389
https://gitlab.com/kicad/code/kicad/-/issues/15389
2023-08-11 18:04:27 +02:00
Alex Shvartzkop
4aa05dfcf2
Altium PCB importer: fix custom pad local placement.
2023-08-08 17:03:30 +03:00
Alex Shvartzkop
75ace76c6a
Some router/DRC performance boost (ZONE::GetZoneName)
2023-08-04 23:56:02 +03:00
Alex Shvartzkop
2eb6ca75a8
Altium PCB import: support dashed outlines (Region kind 2)
...
(cherry picked from commit 430da67222
)
2023-08-04 16:50:09 +03:00
Alex Shvartzkop
4918ac6307
Improvements to Altium PCB/footprint importer:
...
- Support unicode footprint names
- Set default footprint text size and thickness to match KLC
- Position Reference at the top, Value at the bottom of fp bounding box
(cherry picked from commit 24452f41ad
)
2023-08-04 16:50:09 +03:00
Alex Shvartzkop
acc03e91f3
Altium PCB: support solder/paste mask expansion rules.
...
- Writes expansion values to board design settings
- Imports footprint regions on Cu layers as pads
- Adds support for holes in non-Cu polygons in footprints
2023-08-04 16:50:09 +03:00
Alex Shvartzkop
8e1466a35a
Altium PCB import: import holes in non-Cu polygons.
...
(cherry picked from commit ef66fe88ac
)
2023-08-04 16:50:09 +03:00
Alex Shvartzkop
5b73af668f
Altium PCB import: remove more invalid polygons.
...
(cherry picked from commit eb6cd4cc5d
)
2023-08-04 16:50:09 +03:00
Roberto Fernandez Bautista
deb035c7fe
Fix loading of via drill default sizes and other settings from *.brd kicad files
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15350
(cherry picked from commit 573d2f94de
)
2023-08-04 10:59:26 +02:00
Jon Evans
2075a99c9b
PNS: Process holes as solids in shoveIteration
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12873
2023-08-03 20:22:48 -04:00
Jon Evans
4bed2e57cb
Fix msvc being unhappy
...
(cherry picked from commit ca4d6e8d1d
)
2023-08-03 20:16:16 +00:00
Jon Evans
0629f502b5
PNS: Improve behavior of dragging vias
...
- Fall back to walkaround when drag fails
- Properly check collisions with holes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15117
(cherry picked from commit cc7d470f8b
)
2023-08-03 20:16:06 +00:00
jean-pierre charras
8625a59d4c
Fix a display issue in wxStyledTextCtrl widgets in dialogs (Windows specific).
...
It happens when a text is using some esoteric unicode chars.
Fixes #15314
https://gitlab.com/kicad/code/kicad/-/issues/15314
2023-08-03 18:44:57 +02:00
Jon Evans
9ac5f837f7
Properties: disable pad y-size when circular
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15038
(cherry picked from commit 39073642a7
)
2023-08-03 13:07:52 +00:00
Jon Evans
228fe71eb4
Do not force focus on dataview in RC dialogs
...
On GTK, this causes the first item to be selected, firing the
selection handler and causing unwanted side effects.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11925
(cherry picked from commit 7804c2177c
)
2023-08-03 13:06:37 +00:00
Ian McInerney
80462cf559
Remove temp items from its group before deleting them
...
The 1st level items being copied don't have their group information
copied, and we assert that it has been removed from the group on
deleting it, so we just reset the group membership to prevent the
assert.
Fixes sentry KICAD-22S
(Cherry-picked from 753cc6679b
)
2023-08-02 23:32:45 +01:00
Ian McInerney
b0f4d56de1
Remove group association before plotting board outline in drill map
...
The plotter doesn't care about the grouping, and we expect the item to
have no group on deletion, so temporary items like this shouldn't be
part of one.
(Sentry issue KICAD-24Y)
(Cherry-picked from 137640ac28
)
2023-08-02 23:26:35 +01:00
Ian McInerney
7bc0f8731f
Remove group reference when exporting individual footprints
...
(Cherry-picked from d923b871d7
)
2023-08-02 23:21:36 +01:00
Ian McInerney
507054e9cd
Remove temporary footprint from pcb group before deletion
...
Bounding box computation uses a temporary footprint, but the clone
operation keeps the group information. We can't delete a footprint if it
has group information, so just delete the group information.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14909
(Cherry-picked from b8e9544828
)
2023-08-02 23:17:03 +01:00
jean-pierre charras
74fc8f6db0
APPEARANCE_CONTROLS, preset layers: re-allow storing object visibility in
...
a User preset, and use the last defined object visibility when switching to
a builtin preset
From master branch
Fixes #15282
https://gitlab.com/kicad/code/kicad/-/issues/15282
2023-08-02 14:01:43 +02:00
Jon Evans
04bb3dfe9d
A BOARD may not always have a project
...
For example, if it's the footprint editor model
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15283
(cherry picked from commit 2459949d0d
)
2023-08-01 21:26:01 +00:00
jean-pierre charras
7fb15269d1
PANEL_SETUP_BOARD_STACKUP: do not try to init params managed by PANEL_SETUP_BOARD_FINISH
...
From master branch
Fixes #15288
https://gitlab.com/kicad/code/kicad/-/issues/15288
2023-07-29 09:59:53 +02:00
jean-pierre charras
49772d2539
Gerber export X3: fix an incorrect keyword ("route" must be "rout")
2023-07-27 20:18:16 +02:00
Seth Hillbrand
2451cbddec
Consolidate Maximum clearance calculation
...
We were calculating the same thing in three locations and we missed
adding the clearance from the footprints in, resulting in bad fills and
missed drc errors (see QA addition)
(cherry picked from commit 96a34e5b57
)
2023-07-26 13:16:32 -07:00
Seth Hillbrand
2652068933
When routing, check for board-level clearances
...
If the board-level clearance exceeds the max pad/track clearance, we end
up missing collisions in the router.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15162
(cherry picked from commit 000998ccae
)
2023-07-24 15:19:59 -07:00
Jeff Young
bac1fb18f0
Add DRCEpsilon to net-tie-exclusion testing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14008
(cherry picked from commit d9a77e6a64
)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15231
2023-07-20 12:45:38 -07:00
Seth Hillbrand
e4a80d887a
Refill legacy zone fills on open
...
Previous check only looked for the existence of a new (as of v6) flag
that controlled which strategy we took. Previous versions did not write
this flag and so will not hit the check. This works around a missing
version bump from when the feature was introduced.
(cherry picked from commit 6a09cf3551
)
2023-07-19 14:52:28 -07:00
Alex Shvartzkop
45d496bd01
Altium PCB: fix orientation of polygons and non-Cu pads in footprints.
...
Fixed in master by bbd6c80507
2023-07-20 01:14:34 +05:00
Jeff Young
7c0a911e9f
Override FOOTPRINT::GetCenter() to ignore text.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15209
(cherry picked from commit c2e7827774
)
2023-07-16 20:06:23 +01:00
Jeff Young
62bf6a9d57
Save a bit of space in FP 3D preview by moving board thickness to dlg.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13896
(cherry picked from commit df63ca0189
)
2023-07-16 20:01:26 +01:00
Jeff Young
4ad6244d8d
Don't blindly cast to PCBNEW_SETTING: we may be in CVPCB....
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15153
(cherry picked from commit 5bf257cdf6
)
2023-07-16 19:45:13 +01:00
jean-pierre charras
f8210e4a2a
Pcbnew, undo_redo: Do not cast to BOARD_ITEM items that are only EDA_ITEM
...
A BOARD_ITEM is derived from EDA_ITEM, so the cast is not possible
From Master branch
Fixes #15177
https://gitlab.com/kicad/code/kicad/-/issues/15177
2023-07-13 11:09:59 +02:00
Seth Hillbrand
1ccaf45740
Record hole knockouts in zone filler earlier
...
Spokes are placed across an entire pad when filling, so the hole
knockouts need to knocked out prior to deflating
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15160
(cherry picked from commit 3030c80de7
)
2023-07-12 11:18:40 -07:00
jean-pierre charras
d268ccea5b
PCB_VIA::SetLayerSet( LSET aLayerSet ): fix bug: it must consider only copper layers.
...
Its purpose is to initialize the top and the bottom copper layers connected
by this via. So only copper layers in LSET must be analyzed.
From Master branch
2023-07-12 16:42:19 +02:00
jean-pierre charras
10efb6e55a
PCB_TEXT::TransformTextToPolySet() fix a typo that can creates a *lot* of
...
segments in polygon.
Fixes #15161
https://gitlab.com/kicad/code/kicad/-/issues/15161
2023-07-11 13:12:47 +02:00
Jeff Young
17f02b2ff0
Disable positioning tools when a move is in progress.
...
Also fixes a typo in EDIT_TOOL::doMoveSelection().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15090
(cherry picked from commit 7ed5963b4f
)
2023-07-09 22:01:06 +01:00
Jeff Young
6316b78a5e
Add SHORT_NET_NAME processing to footprint variable resolution.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15095
(cherry picked from commit def1a9f39c
)
2023-07-09 21:56:22 +01:00
Jeff Young
a43adf7d4f
Allow routing to a free pad (even if it has a hole).
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15093
(cherry picked from commit 6da71e5d24
)
2023-07-09 21:55:21 +01:00
Jeff Young
16d24d4b43
Tailor inspector text properties for dimension objects.
...
(cherry picked from commit 50da4e483e
)
2023-07-09 21:54:52 +01:00
Jeff Young
60fe2ce30e
Save project to disk whenever we save the board to disk.
...
This prevents data loss in the event of a subsequent crash.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14991
(cherry picked from commit 3bdc66d3ed
)
2023-07-09 21:53:32 +01:00
Jeff Young
b294530716
Prefer MRU path to LastImportExportPath for importing footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15102
2023-07-09 21:39:18 +01:00
Jeff Young
b857374aa2
Don't consider a group to be on a copper layer.
...
Its members can be on copper layers, but the group itself isn't on any
layer.
Also fixes a bug where we were trying to clone TRIANGULATED_POLYGON::TRI
shapes as indexable sub-shapes. (The TRI only has indexes into its
parent, so cloning it will only result in segfaults down the line.)
Also fixes a bug where we weren't including copper items inside groups
when checking footprint net ties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15021
(cherry picked from commit 40abb013ec
)
2023-07-09 21:08:52 +01:00
Jeff Young
480ce08d39
Clear arcs before deflating area outline.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15007
(cherry picked from commit 4473ebb02d
)
2023-07-09 21:08:52 +01:00
Jeff Young
63f33a42e3
Don't trip over null strings.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14989
(cherry picked from commit ecb2fcd559
)
2023-07-09 21:08:51 +01:00
Jeff Young
f6d1baa50a
Refine track dangling test.
...
Turns out Clean Up Tracks and Vias wants a different answer from DRC.
(cherry picked from commit fb40c202a1
)
2023-07-09 21:08:51 +01:00
Jeff Young
0df1ec8765
Track not dangling if entirely covered by pad.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14211
(cherry picked from commit 4e3730f653
)
2023-07-09 21:08:51 +01:00
Jeff Young
76f8b3df22
Treat undo as backspace and/or escape when drawing. Ignore redo.
...
Undo == backspace when drawing a polygon or chained lines. Otherwise
it's an escape.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14961
(cherry picked from commit ef6866757e
)
2023-07-09 21:08:51 +01:00
Alex Shvartzkop
bbf59a731d
EAGLE PCB import: fix footprint text alignment.
...
(cherry picked from commit a80ac8286d
)
2023-07-09 05:46:12 +05:00
Alex Shvartzkop
803bcbbea0
Altium PCB import: fix text positioning when not bottom-left aligned.
...
(cherry picked from commit 536744d37a
)
2023-07-09 05:46:12 +05:00
Seth Hillbrand
cadea90109
Check for zone-zone overlap
...
Instead of just checking for the zone outline, we adjust to check the
full fill area of the zones for intersection and overlaps
(cherry picked from commit 954b265839
)
2023-07-07 12:03:58 -07:00
Jeff Young
60696a895c
Add DRC testing for copper graphic to zone fill collisions.
2023-06-30 11:56:40 +01:00
Seth Hillbrand
3926173dfe
Fix zone fill issue with net ties
...
A mistake in the cherry-pick for a previous commit prevented footprint
graphics from being knocked out in the zone fill. This sets the default
to knockout, allowing the assertion from the polygon generation routine
to catch invalid codes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15069
2023-06-27 12:35:42 -07:00
Tomasz Wlostowski
2f35d97b27
router: when no collision search context is provided, assume differentNetsOnly is true
...
(cherry picked from commit a0a68d198c
)
2023-06-23 07:55:50 -04:00
Tomasz Wlostowski
152dc56df4
router: provisional fix for 14926
...
(cherry picked from commit bd5954242e
)
2023-06-22 12:54:22 -04:00
jean-pierre charras
f6f99e45b9
Pcbnew, graphic importer: convert arc with large radius to segment.
...
Arcs having a too large radius cannot be safely handled.
The criteria (not perfect) is radius < INT_MAX/2 to use arcs
Fixes #14210
https://gitlab.com/kicad/code/kicad/-/issues/14210
2023-06-19 10:46:30 +02:00
Seth Hillbrand
6fc393c7db
Upgrade file locking
...
wxSingleInstanceChecker is meant for running programs, not file locking.
This implements an RAII class for file locking that stores the lock
files next to the file being locked, allowing it to be easily found and
removed. Also includes the ability to override the lock, with
information about the original owner
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14734
(cherry picked from commit 122be418bb
)
2023-06-18 01:06:40 +02:00
Seth Hillbrand
361fdcce1b
Maintain file permissions when renaming
...
Temporary and autosave files do not neccessarily have the correct
permissions set to replace existing project files. This updates the
permissions to match the existing values where possible
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13574
(cherry picked from commit 48ecd742eb
)
2023-06-18 01:06:14 +02:00
Jeff Young
12cf696097
Tab-order fix provided by aris-kimi.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9406
2023-06-17 18:34:52 +01:00
Jeff Young
61dfe4ef07
Don't leave selection lying around when swapping out footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14971
(cherry picked from commit da558f57d4
)
2023-06-17 17:30:24 +01:00
Jeff Young
d3099ecf75
Don't create 22.5-degree gateways if we're not cardinal or diagonal.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14984
2023-06-17 16:05:07 +01:00
Jeff Young
c183e3f342
Cleanup.
2023-06-17 16:04:56 +01:00
Alex Shvartzkop
a5ded3341a
Adapt panels to PAGED_DIALOG sizing algorithm.
...
Also some cosmetic fixes (GTK).
(cherry picked from commit d3be62f644
)
2023-06-17 15:19:26 +03:00
Alex Shvartzkop
c61931996a
PAGED_DIALOG: allow setting initial size in ctor.
...
(cherry picked from commit f5da58e17d
)
2023-06-17 15:19:26 +03:00
Jeff Young
c0445ed857
Reset session drawing props after Board Setup.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14932
(cherry picked from commit 9ed2458f00
)
2023-06-17 13:04:48 +01:00
Wayne Stambaugh
4e79d1ecdd
Command line PCB gerber export fix and improvement.
...
The --board-plot-params argument was never parsed so it was always ignored.
[ADDED] A '--no-protel-ext' option to allow plotting gerbers with the KiCad
file extension (gbr) instead of the Protel gerber file extensions.
2023-06-16 07:14:37 -04:00
jean-pierre charras
4306af3ef3
Plot Solder mask layer: do not add items on edge_cut, but not on mask layer
...
it happened only when creating a solder mask plot with a minimum thickness.
This was a legacy option, incorrect now.
Fixes #14960
https://gitlab.com/kicad/code/kicad/-/issues/14960
2023-06-16 10:01:29 +02:00
jean-pierre charras
bdc9807dee
Pcbnew: fix crash when selecting a footprint due to a not initialized pointer
2023-06-13 11:37:12 +02:00
Jeff Young
b0bcaa971e
BoardDesignSettings are owned by FOOTPRINT_EDITOR_SETTINGS in the FP Editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14925
2023-06-12 10:08:09 +01:00
Jeff Young
1e013274c2
Fix broken build.
2023-06-11 22:35:54 +01:00
Jeff Young
39c7024f12
Make sure infobar gets created earlier.
...
(restoreLastFootprint() might want it.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14922
(cherry picked from commit 3159391e28
)
2023-06-11 22:32:05 +01:00
Jeff Young
5c1a089981
Re-create missing exclusion markers if DRC was cancelled.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14919
(cherry picked from commit 93789e75b9
)
2023-06-11 22:31:13 +01:00
Jeff Young
cfb59094fe
Make sure infobar gets created earlier.
...
restoreLastFootprint() might want it.
(cherry picked from commit 4fc6047f91
)
2023-06-11 22:30:43 +01:00
Jeff Young
7d30a2bc54
Make FOOTPRINT_PREVIEW_PANEL a FPHOLDER.
...
Also makes sure it get its user_units set up.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14913
(cherry picked from commit d18b0c62f6
)
2023-06-11 22:30:16 +01:00
Jeff Young
472879e95a
Check for proxy references and values in Selectable().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14911
(cherry picked from commit 111d0a2c14
)
2023-06-11 22:07:26 +01:00
CraftedNightmare
7027d02f94
Fix Search pane not remembering docking sizes and positions
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14120
(cherry picked from commit d94e9b31b1
)
2023-06-11 20:24:41 +00:00
Jon Evans
fe5c7a60ab
Net Inspector: clear sort ordering during rebuild
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14697
(cherry picked from commit 3a2cc8f56f
)
2023-06-11 17:16:57 +00:00
Nils VAN ZUIJLEN
c919694f37
cli: add an option to the pcb exports for plotting negative svg and pdf
...
ADDED: The -n or --negative option for exporting negative svg or pdf plots
from kicad-cli. Example usage: kicad-cli pcb export svg -n -l B.Cu board.kicad_pcb
2023-06-10 14:50:27 -04:00
Jeff Young
6fbdf8f0e2
Handle Altium dimension angles and non-unit suffixes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13751
(cherry picked from commit 97cf7c874e
)
2023-06-10 10:57:14 +01:00
Jeff Young
4060ec3038
Treat canvas item as current when tree view contains no selection.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12702
(cherry picked from commit 1528f4700c
)
2023-06-10 10:57:14 +01:00
Jeff Young
32626970a0
Prevent Sentry KICAD-MM crash.
...
It'd be nicer to know what happens, but we don't have a reproducible
case, so this "fix" will at least prevent that particular crash.
(cherry picked from commit 0091b9f897
)
2023-06-10 10:57:14 +01:00
Jeff Young
bc0a53a226
Increased mutex safety.
...
Don't even query the size() without having at least a shared_lock.
*May* prevent KICAD-4S, but seems unlikely.
(cherry picked from commit f3d3ade1dc
)
2023-06-10 10:57:14 +01:00
Jeff Young
b6a044111b
Exclude redraws during closing (particularly of RATSNEST_VIEW_ITEM).
...
(cherry picked from commit 7a3a8b67c1
)
2023-06-10 10:57:14 +01:00
Jeff Young
ec4faad589
Don't allow setting a pad width or height of 0.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14278
(cherry picked from commit ddd2cb005b
)
2023-06-10 10:57:14 +01:00
Alex
13820bc002
Support --mirror option in "kicad-cli pcb export pdf"
...
(cherry picked from commit 2450435131
)
2023-06-10 04:58:07 +03:00
Jeff Young
a348fde7d1
Assertion checking for hole/parent ownership mismatch.
...
(This mismatch is the root of the problem in issue #14852.)
2023-06-10 01:05:00 +02:00
Tomasz Włostowski
d25017dd5b
router: can't add a clone of a VIA's hole when adding the via to INDEX - this will result in bogus colliding objects
...
This commit partially reverts deb3cbf8
. VIA and SOLID operator='s introduced in it do a good job but the cloning of holes in addHole() causes bogus collisions.
2023-06-10 01:04:49 +02:00
Jeff Young
9b965f367a
Prevent use-after-free crashes by not fighting over who owns a HOLE.
...
The diff-pair placer creates DIFF_PAIRs on the stack, which have
VIAs in them, which have HOLEs in them. The HOLEs get put in the
NODE's index, and we then crash later when doing a collision after
the stack variable has gone out of scope.
The stack variable is also copied while doing a search for "best",
and without the operator= definitions the "best" and the "original"
both think they own the HOLE.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14852
2023-06-10 01:04:37 +02:00
Tomasz Wlostowski
adca34ac6a
router: invalidate items freed by PNS::NODE in the clearance cache
...
This was causing intermittent shove hiccups/freezes as RULE_RESOLVER::GetClearance() could return a bogus clearance value, taking
a cached value for an item that does not exist anymore. If the allocator/stack accidentally reclaimed such item's address - we were getting
very nasty and difficult to reproduce misbehaviours of the shove algorithm. Hopefully this patch fixes this. More info in the comments.
Note to self - I'm still not fully convinced I want PNS::ITEM pointers as the cache key, probably a unique counter would be better here.
2023-06-10 01:04:25 +02:00
Tomasz Wlostowski
51a4a92ec4
router: fix use-after-free crash in drag walkaround mode
2023-06-10 01:04:13 +02:00
Tomasz Wlostowski
ae8ea3b938
router: correctly assign owner via/pad to its hole when committing the world state
...
fixes #14852
2023-06-10 00:27:38 +02:00
David Holdeman
6a00eaa4a3
naively add option
2023-06-06 18:20:24 +00:00
Jeff Young
214f785c97
Use rendered text to generate bounding box for knockout text.
...
Don't open-code knockout text shape generation in several different
places.
Make sure triangulated knockout text gets clearance added when
specified.
Collapse duplicated footprint text item plot routine (they're no
longer any different from plotting pcb text items).
(cherry picked from commit c71cf21e2f
)
2023-06-06 11:19:41 +01:00
Marek Roszko
d6fd5598ab
Use the correct printf format for the move individually status text
...
Fixes sentry KICAD-1ZT
(cherry picked from commit b41606ecf7
)
2023-06-05 13:55:52 +00:00
Mike Williams
c3a6bf3d40
UI: Add Numpad Enter as "Return" equivalent in missing places
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14244
2023-06-05 08:58:50 -04:00
Jeff Young
0bd45f691e
Make sure 3D file browser is treated as modal by quit.
...
(Otherwise we crash when freeing it during the quit.)
(cherry picked from commit c36b0fcda7
)
2023-06-04 21:22:19 +01:00
Jeff Young
e76a520c19
Bug fixes for handling boolean flags in DRC rules.
...
(cherry picked from commit cb53a18ee3
)
2023-06-02 00:20:11 +01:00
jean-pierre charras
e55263be00
Pcbnew: fix crash when trying to save a board with a text with overbar and
...
using a non Kicad font
PCB_PLUGIN::formatRenderCache() was considering all shapes in cache are polygons,
but this is not true: some items can be stroke shapes.
From stable branch
Fixes #14804
https://gitlab.com/kicad/code/kicad/-/issues/14804
2023-05-29 20:41:35 +02:00
Jeff Young
4a274709e7
Go back to using QuasiModal for TextBox Properties.
...
Also removes auto-closing of blocking dialogs when inserting
symbols from the Symbol Editor or Chooser, preventing the bug
that QuasiModel was removed for earlier.
Also fixes a non-initialized parent pointer when the TextBox
Properties dialog was called from DrawShape().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14777
(cherry picked from commit 5a9ed66cfd
)
2023-05-28 19:19:50 +01:00
Jeff Young
c6e4f18d99
Hook up text variable auto-complete for PCBNew.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14777
(cherry picked from commit 14f004d2a5
)
2023-05-28 18:46:39 +01:00
Wayne Stambaugh
0e5155ae2f
Fix clipped combobox entry in board editor text box dialog.
...
The layer combobox color swatch was clipped when the combobox was
closed when the dialog was launched. Setting the minimum width
resolved the issue. This may have been a GTK only issue.
(cherry picked from commit a13a49f45a
)
2023-05-28 18:43:32 +01:00
Jeff Young
dfd11b7596
Reconcile PNS router with DRC.
...
Hole-to-hole is only for drilled holes.
NPTH slots also get EDGE_CLEARANCE applied.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14771
(cherry picked from commit df763eaf88
)
(cherry picked from commit ad9109cad4
)
2023-05-28 19:38:27 +02:00
Jeff Young
b728251bcc
STL is your friend... until it's not.
...
Operator[] was creating an empty entry in the connectivity map,
fooling us into thinking the item had already been added.
Worryingly, this bug has been in there since 2017; a recent
change in teardrops just happened to expose it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14781
(cherry picked from commit 7e51077992
)
(cherry picked from commit 0d94532df9
)
2023-05-28 19:38:27 +02:00
Jeff Young
97ffb60f23
Don't consider shorted items when opitmizing ratsnest.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14715
(cherry picked from commit 80aef37cc4
)
(cherry picked from commit dc50b7b065
)
2023-05-28 19:38:27 +02:00
Jeff Young
41b7182661
Lazy loading of stackup UI widgets.
...
(cherry picked from commit 9481a218c7
)
(cherry picked from commit 00a82905ec
)
2023-05-28 19:38:27 +02:00
Jeff Young
19e5a231a7
Don't run onPageChanged() event handler during initialization.
...
(cherry picked from commit 3f44c811c7
)
(cherry picked from commit f35ed59868
)
2023-05-28 19:38:27 +02:00
Jeff Young
01fcb2276b
Move remainder of Board Setup to lazy loading.
...
(cherry picked from commit 03c9b1c202
)
(cherry picked from commit 3cd87c2a44
)
2023-05-28 19:38:27 +02:00
Jeff Young
19b4e98ee7
Lazy loading of Schematic Setup panels.
...
(cherry picked from commit ddc6ecf7be
)
(cherry picked from commit 6cbc10db81
)
2023-05-28 19:38:27 +02:00
Jeff Young
77c76bbc8a
Insta-prefs.
...
(cherry picked from commit 9ae8255202
)
(cherry picked from commit 4c28070449
)
2023-05-28 19:38:27 +02:00
jean-pierre charras
50ec496c54
Step exporter: export circular board outlines as cylinder
...
From master branch, commit 66651327
.
(cherry picked from commit 5db9a6af9d
)
2023-05-28 19:38:27 +02:00
Tomasz Wlostowski
0180cb380f
router: prevent pushout/bogus collision of via with is own hole (or copper) when dragging
...
The root cause was not removing the original (pre-dragging) via from the world, comparing the ITEM::Parent() pointers of the items was only hiding the main issue.
This also fixes the PNSViaCollisions test in the qa/ suite.
2023-05-24 19:47:20 -07:00
Jeff Young
882e48b457
Don't allow collisions with self.
...
The previous test didn't handle is-self-tests between a hole and
its override in a different NODE. When calculating the pushout
force we don't remove the via (and its hole) from the current
node until after the calculation, so we end up checking for
collisions between the new (cloned) via's hole and the original
hole in the root node.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14795
(cherry picked from commit b442d769fd
)
2023-05-24 08:54:27 -07:00
Seth Hillbrand
fa56b17c88
Revert "Fix clipped combobox entry in board editor text box dialog."
...
This reverts commit 7ea907c343
.
2023-05-24 08:54:16 -07:00
Seth Hillbrand
84eacd13a1
Revert "Step exporter: export circular board outlines as cylinder"
...
This reverts commit 5db9a6af9d
.
2023-05-24 08:54:16 -07:00
Seth Hillbrand
7e39411910
Revert "Insta-prefs."
...
This reverts commit 4c28070449
.
2023-05-24 08:54:16 -07:00
Seth Hillbrand
2f3659e7ac
Revert "Lazy loading of Schematic Setup panels."
...
This reverts commit 6cbc10db81
.
2023-05-24 08:54:16 -07:00
Seth Hillbrand
c0567aa011
Revert "Move remainder of Board Setup to lazy loading."
...
This reverts commit 3cd87c2a44
.
2023-05-24 08:54:16 -07:00
Seth Hillbrand
9b310ab955
Revert "Don't run onPageChanged() event handler during initialization."
...
This reverts commit f35ed59868
.
2023-05-24 08:54:16 -07:00
Seth Hillbrand
5226855158
Revert "Lazy loading of stackup UI widgets."
...
This reverts commit 00a82905ec
.
2023-05-24 08:54:16 -07:00
Seth Hillbrand
ee19354484
Revert "Don't consider shorted items when opitmizing ratsnest."
...
This reverts commit dc50b7b065
.
2023-05-24 08:54:16 -07:00
Seth Hillbrand
714250d9f6
Revert "STL is your friend... until it's not."
...
This reverts commit 0d94532df9
.
2023-05-24 08:54:16 -07:00
Seth Hillbrand
1958cafbdf
Revert "Reconcile PNS router with DRC."
...
This reverts commit ad9109cad4
.
2023-05-24 08:54:16 -07:00
Jeff Young
ad9109cad4
Reconcile PNS router with DRC.
...
Hole-to-hole is only for drilled holes.
NPTH slots also get EDGE_CLEARANCE applied.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14771
(cherry picked from commit df763eaf88
)
2023-05-23 09:40:32 +01:00
Jeff Young
0d94532df9
STL is your friend... until it's not.
...
Operator[] was creating an empty entry in the connectivity map,
fooling us into thinking the item had already been added.
Worryingly, this bug has been in there since 2017; a recent
change in teardrops just happened to expose it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14781
(cherry picked from commit 7e51077992
)
2023-05-23 09:40:32 +01:00