Tomasz Wlostowski
7966126040
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-01 00:01:15 +02:00
Seth Hillbrand
14f6e32c74
ADDED: Change watcher for libraries
...
When editing or viewing library symbols, the files are watched for
underlying changes. If any occur, the user is either prompted to reload
(if reloading would overwrite their current edits) or the file is
silently updated to the current version on disk.
This also sets a custom assertion handler to avoid unneeded crashes when
recieving invalid SAMBA packets and turns off assertions entirely when
running in release (non-debug) mode
2023-05-31 13:46:00 -07:00
Seth Hillbrand
d94fd5f979
Prevent ro directories from showing lockfile error
2023-05-31 13:45:57 -07:00
Seth Hillbrand
5370fdc718
Fix override lock behavior
...
We don't need to lock in import because we are creating a new file. We
should, however, show the locking user/machine when opening in schematic
editor and take over the lock if they want to proceed.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9347
2023-05-31 13:43:58 -07:00
Tomasz Wlostowski
15db42d9c8
router: fix use-after-free crash in drag walkaround mode
2023-05-31 22:20:28 +02:00
Wayne Stambaugh
f950354f99
Fix connectivity assertion in schematic editor.
...
https://gitlab.com/kicad/code/kicad/-/issues/14835
2023-05-31 13:29:47 -04:00
Jeff Young
cfb45be71e
Improved tooltips for all-unit-interchangeable and De Morgan.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14583
2023-05-31 17:54:19 +01:00
Jeff Young
d3edad3c92
Formatting.
2023-05-31 17:26:54 +01:00
Jeff Young
421d6b2ef8
Retire LIB_ID_VALIDATOR as it prevents usage of text variables.
...
(We perform more complete checks in ERC anyway.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14764
2023-05-31 17:26:54 +01:00
jean-pierre charras
90c4b8bc57
Eeschema: try to fix a not working tool (Paste tool on main horiz. toolbar)
...
Fixes #14827
https://gitlab.com/kicad/code/kicad/-/issues/14827
2023-05-31 17:45:19 +02:00
jean-pierre charras
a4b73d74a3
Remove a change committed by mistake in commit 86abfd2ce
.
...
It should be committed in a separate commit.
2023-05-31 17:45:19 +02:00
Tomasz Włostowski
b22b0e5d03
qa: ignore duplicates in PNS regression test reference data
2023-05-31 17:07:13 +02:00
Tomasz Włostowski
b1ae093fe6
qa: disable center view on zoom in the PNS debug tool
2023-05-31 17:06:41 +02:00
Tomasz Włostowski
6e0a52dd47
qa: fix crash on null PNS::ITEM::Parent() UUID access
2023-05-31 17:06:33 +02:00
Tomasz Wlostowski
5100345c6e
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-31 17:06:24 +02:00
Jeff Young
47bba3cbeb
Correct logic errors in pin bounding box calculation.
...
The name and number are both centred, and either one can be long
enough to be the determining factor for either side of the bounding
box.
2023-05-31 12:51:56 +01:00
Jeff Young
f9fd37c4ca
Correctly handle hidden columns when pasting into grids.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14844
2023-05-31 12:26:18 +01:00
Jeff Young
8baf2a832f
Make pad flipping work both from parent footprint *and* individually.
...
The last fix was for individual pads, but it broke when the whole
footprint was flipped for rotated footprints.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14829
2023-05-31 11:13:35 +01:00
Jeff Young
d827bb8a1f
Leave back/forward/up nav buttons enabled so the action doesn't change.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14783
2023-05-31 11:13:35 +01:00
Jeff Young
e82e4af483
Don't double-up FUTURE_FORMAT_ERROR problem strings.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14780
2023-05-31 11:13:35 +01:00
jean-pierre charras
86abfd2cef
Update a golden file in Eagle QA tests
2023-05-31 11:52:50 +02:00
Jon Evans
3783fc8f5a
Remove unused line
2023-05-30 20:06:18 -04:00
jean-pierre charras
a54f60a728
Cvpcb: the footprint viewer use the settings of pcbnew, and the code in _pcbnew.dll/so
...
So ensure they are loaded before creating the footprint viewer.
Fixes #14850
https://gitlab.com/kicad/code/kicad/-/issues/14850
2023-05-30 20:02:47 +02:00
Jeff Young
4874537c40
Push/pop router tool for inline drag.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14832
2023-05-30 18:02:12 +01:00
Jeff Young
c36b0fcda7
Make sure 3D file browser is treated as modal by quit.
...
(Otherwise we crash when freeing it during the quit.)
2023-05-30 14:58:46 +01:00
jean-pierre charras
6b845b9054
Fix compil warnings and a wxWidgets alert.
2023-05-30 09:00:46 +02:00
Marek Roszko
6e468c5ce9
Fix more warnings
...
Needless const and out of order initializer
2023-05-29 23:01:58 -04:00
Marek Roszko
8381677f20
Remove --report_level=no
2023-05-29 22:23:44 -04:00
Marek Roszko
7e51bc2011
Use the result_code with boost test or else ctest will lie that it passed
2023-05-29 21:56:55 -04:00
Marek Roszko
c31b5eb7d8
Fix errant typecast in VECTOR2<T>::Resize
...
This fails QA on Windows but not Linux
2023-05-29 19:34:40 -04:00
Jeff Young
b53bc1ae38
Trim solder paste (and other layers) to holes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8484
2023-05-30 00:02:27 +01:00
Marek Roszko
8b3f5de620
Add a simple testcase for VECTOR2I::Resize
2023-05-29 18:32:56 -04:00
Jon Evans
141cc85ff3
PNS: Work around collision checking issues in shove mode
...
Need to special-case shove mode since 942ee13c
introduced
collision checking in all modes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14836
2023-05-29 18:19:47 -04:00
Roberto Fernandez Bautista
bb90aa24b7
Add basic QA test to CADSTAR PCB footprint import
2023-05-29 23:29:28 +02:00
Roberto Fernandez Bautista
3b56b7bf68
Fix assert in PROPERTY_ENUM (ENUM_MAP<PCB_LAYER_ID> was not initialised)
2023-05-29 23:29:28 +02:00
Jeff Young
cb7f314f4b
Handle through-hole via walls along with pads.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14757
2023-05-29 21:59:20 +01:00
Jeff Young
f5791f5dc6
Left some fixes out of previous commit.
2023-05-29 16:22:24 +01:00
Roberto Fernandez Bautista
9633c8af22
CADSTAR PCB: Fix regression in loading of thermal pads
...
Due to removal of SetPos0 in 28028c94
, we now don't need to compensate
for the position of the footprint while importing.
2023-05-29 16:41:47 +02:00
Jeff Young
65e53b8ecd
Move SHAPE_POLY_SET::Inflate's error spec from a seg-count to a max-deviation.
...
1) Also reorders parameters to make sure the compiler helps out.
2) This also makes it harder to mess up the discrepency between
BOX2I/wxRECT/etc::Inflate() and SHAPE_POLY_SET::Inflate.
3) Also fixes a couple of bugs where the corner strategy was passed
in as a segCount.
4) Also fixes a couple of bugs where the error wasn't forced to the
outside to match the ERROR_LOCATION.
5) Also fixes a couple of bugs where the seg count was specified
without regard to an already passed-in max deviation
2023-05-29 15:29:03 +01:00
Mike Williams
7f250870fe
schematic: fix crash in search pane when hit list is empty
...
std::all_of also returns true for an empty set
2023-05-29 09:50:09 -04:00
Jeff Young
2612b49698
Fix erroneous wxEXPAND flags.
2023-05-29 14:23:31 +01:00
jean-pierre charras
ef4dded915
PCB_TEXT::TransformTextToPolySet(): fix incorrect param when calling Inflate()
...
This incorrect value created hang when clicking on a pcb text.
2023-05-29 14:21:10 +02:00
Jeff Young
a4f16423c8
Push reference and value special cases down into LIB_FIELD::compare().
...
Use COMPARE_FLAGS::EQUALITY and COMPARE_FLAGS::ERC when doing
library diffs.
Also fixes a few more cases where we weren't checking for -1 when
doing a fieldID < MANDATORY_FIELDS.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14830
2023-05-29 12:40:20 +01:00
Roberto Fernandez Bautista
dfebe516c5
CADSTAR PCB: Fix memory leak
2023-05-28 23:56:43 +02:00
Roberto Fernandez Bautista
8493cc4c89
CADSTAR SCH LIB: Add plugin options + improve symbol caching
2023-05-28 23:56:42 +02:00
Roberto Fernandez Bautista
688a61df63
Add options editor to symbol library table + cleanup unused options
2023-05-28 23:56:42 +02:00
Roberto Fernandez Bautista
a119bd604d
Refactor: Move DIALOG_PLUGIN_OPTIONS to common and use enum for event ID
2023-05-28 23:56:41 +02:00
Jeff Young
d526362d31
No sheet path has to be interpreted as the current sheet.
...
There's currently waaaay too much stuff that depends on it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14834
2023-05-28 20:46:50 +01:00
Jeff Young
8820df2187
Fix missing "else".
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14831
2023-05-28 19:49:19 +01:00
Jeff Young
570978fa7f
Replace larger text bboxes now that we're not using them for knockouts.
2023-05-28 18:17:24 +01:00