Jeff Young
375f3a7164
Remove double call to Destroy() for DISPLAY_FOOTPRINTS_FRAME.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14928
(cherry picked from commit bae8a077b9
)
2023-06-11 22:31:27 +01:00
Jeff Young
370bdef8d0
Clear the playerFrame lookup cache when closing frames.
...
WindowIds aren't actually guaranteed to be unique, and we don't
perform a dynamic_cast on the result of FindWindowById() because
of linker issues....
This is an attempt to fix KICAD-39.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14928
(cherry picked from commit d6aefc458c
)
2023-06-11 22:31:24 +01:00
Jeff Young
7b1e75e6ed
Don't accidentally add NULL ptrs to the LibSymbols cache.
...
Operator[] will add a blank element if it isn't found in the map.
Probably Sentry KICAD-23Y.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14927
(cherry picked from commit 96073402ce
)
2023-06-11 22:31:18 +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
Salvador E. Tropea
561441b48a
Adds the missing plot formats to `kicad-cli sch export`
2023-06-11 13:56:24 -04: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
Alex Shvartzkop
1a3dc72af8
Avoid deadlock when OpenGL context can't be created.
...
Previously, with aContext == nullptr, the mutex would lock, but not unlock.
Then it got deadlocked inside OPENGL_GAL dtor.
(cherry picked from commit eaf65f7d53
)
2023-06-11 20:12:22 +03: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
3c4286c98b
Force re-word-wrapping of PCM package descriptions on Mac.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13328
(cherry picked from commit c7730eae3f
)
2023-06-10 10:57:14 +01:00
Jeff Young
6d996e31b8
Don't dim SCH_FIELDs when selecting them.
...
(They were only getting drawn on top of the selection shadow when
drawn by their parent symbol because LIB_FIELD was correctly
setting the view layers but SCH_FIELD was not.)
(cherry picked from commit 2300b0d2a3
)
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
Alex
6ad9f25e7d
Enable support for KICAD_SANITIZE_ADDRESS CMake flag on MSVC.
...
(cherry picked from commit d5edde799c
)
2023-06-09 23:10:44 +00: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
jean-pierre charras
b57d77dd0b
kicad-cli, STEP export: fix incorrect unit when user origin is specifed.
...
They are specified in mm (or inches), but must be stored in board units in code.
From master branch
2023-06-09 13:43:12 +02:00
Seth Hillbrand
d5cbb56160
Fix builds for non-MSW
2023-06-07 08:26:27 -07:00
Seth Hillbrand
e97c2a6864
Update Clipper2 to 9d946d7
...
Fixed a number of smaller issues as well as overlapping segment
cleaning.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14682
(cherry picked from commit fe62a3f985
)
2023-06-07 08:22:47 -07:00
Marek Roszko
41447e9b44
Experiment with sentry breadcrumbs to footnote kiway events to provide more crash context
...
(cherry picked from commit 5b5176f104
)
2023-06-07 11:02:23 +00:00
David Holdeman
7aa368c2c5
use same flag, fix inversion
2023-06-06 18:20:24 +00:00
David Holdeman
6a00eaa4a3
naively add option
2023-06-06 18:20:24 +00:00
Jeff Young
9240566167
Support shape collisions between SHAPE_POLY_SET and other shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14890
(cherry picked from commit 0f8c5a96b2
)
2023-06-06 13:41:37 +01:00
Jeff Young
9eaa5f90e0
Replace larger text bboxes now that we're not using them for knockouts.
...
(cherry picked from commit 570978fa7f
)
2023-06-06 11:19:41 +01: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
Jeff Young
ae0534cbb4
Account for changes to mimic 6.0 text positioning in bounding boxes.
...
This is only a partial fix as knockout text is still busted....
(cherry picked from commit dacf0b2b96
)
2023-06-06 11:19:41 +01:00
Jeff Young
f3c5c458c6
Formatting.
...
(cherry picked from commit 6b0bff2f4f
)
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
c41b334f0a
LibTree: add numpad enter as enter
...
Written by Andrej Valek
2023-06-05 09:22:04 -04: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
cb7aa5143b
Correctly handle hidden columns when pasting into grids.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14844
(cherry picked from commit f9fd37c4ca
)
2023-06-04 21:24:35 +01:00
Jeff Young
8942abfc64
Handle through-hole via walls along with pads.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14757
(cherry picked from commit cb7f314f4b
)
2023-06-04 21:22:37 +01:00
Jeff Young
e5ef973d52
Trim solder paste (and other layers) to holes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8484
(cherry picked from commit b53bc1ae38
)
2023-06-04 21:22:31 +01: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
117c70ed7d
Don't double-up FUTURE_FORMAT_ERROR problem strings.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14780
(cherry picked from commit e82e4af483
)
2023-06-04 21:21:18 +01:00
Jeff Young
d09f88d53b
Every time I search for SCH_TEXT* it doesn't work....
...
(cherry picked from commit b8986709bf
)
2023-06-04 21:15:36 +01:00
Jeff Young
06f17d9415
Don't call OnPageSettingsChanges on Undo/Redo.
...
It's incredibly expensive (multiple seconds on a document with
lots of text in an outline font).
(cherry picked from commit 81d7428fd2
)
2023-06-04 21:15:30 +01:00
Jeff Young
c1d8e979f3
Spread the error-bar move evenly around justified text.
...
(cherry picked from commit 3ab9175553
)
2023-06-04 21:15:22 +01:00