Commit Graph

31399 Commits

Author SHA1 Message Date
Seth Hillbrand 6d84acfacd Handle invalid pads more gracefully
Pads generated outside of KiCad may have self-intersecting polygons that
simplify to multiple sets.  We handle this by adding multiple primitives
for such polygons and limiting our fracture calls to only polygons that
have holes

Fixes https://gitlab.com/kicad/code/kicad/issues/10712
2022-02-02 13:36:24 -08:00
jean-pierre charras 788c607d47 EDA_SHAPE::MakeEffectiveShapes(): protect against empty polygons.
Fixes #10713
https://gitlab.com/kicad/code/kicad/issues/10713
2022-02-02 20:48:42 +01:00
Steffen Mauch 169881dcf1 EAGLE plugin: use specified RATIO value for text size calculation
(cherry picked from commit 61b2b0ff0c)
2022-02-02 08:48:25 -08:00
Seth Hillbrand a7fbdfe918 Fix overflow vulnerability in Gerbview
Corrects an unguarded read that could lead to arbitrary code execution
in specifically crafted gerber files.

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

(cherry picked from commit 54b20cb049)
2022-02-02 08:31:15 -08:00
jean-pierre charras 3d11ce5139 export D356 netlist: fix incorrect id for pads type connectors.
these pads are similar to SMD pads and should have the same id.
Fixes #10694
https://gitlab.com/kicad/code/kicad/issues/10694
2022-02-01 08:45:02 +01:00
Seth Hillbrand 833ce19221 Be more diligent in preventing drag line errors
They can happen even when there are no collisions, so we need to reset
the 'ok' flag before using the line again.

Fixes https://gitlab.com/kicad/code/kicad/issues/9555
2022-01-31 16:09:14 -08:00
Alex 73d0d7796c Allow overlay scrolling on GTK, except for GAL canvases.
This prevents glitches when both scrollbars
are visible and scrolling to the end.

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

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

(cherry picked from commit 4c4089e836)
2022-01-31 15:43:31 -05:00
jean-pierre charras 42dfdf8c38 PCB_CONTROL::unfilledZoneCheck(): skip rule areas: they are not filled by definition.
Fixes #10691
https://gitlab.com/kicad/code/kicad/issues/10691
2022-01-31 17:04:05 +01:00
Seth Hillbrand 70d00689ca Fully select a line for transformation
When not trying to select points, we need to ensure that the full
line is selected for transformation

Fixes https://gitlab.com/kicad/code/kicad/issues/10566
2022-01-29 17:36:54 -08:00
jean-pierre charras 26dfc4477f PCB_TARGET: add missing TransformShapeWithClearanceToPolygon() method.
From Master branch.
2022-01-29 20:07:14 +01:00
Seth Hillbrand 38a4894d92 Prevent multiple single-point line solutions
Suggested by @rivimey, we test the case where both lines return singular
point lines and prevent them leaking into our drag solution

Fixes https://gitlab.com/kicad/code/kicad/issues/9555
2022-01-29 07:07:03 -08:00
Seth Hillbrand c2707f3cc0 Fix large memory leak in DRC
All elements get effective shapes, many of which get triangulated.  This
memory needs to be freed when destroying the tree
2022-01-28 17:07:11 -08:00
Seth Hillbrand 8753051db6 Don't count zero-length as duplicate
We were checking for duplicate tracks by looking to see if the two
tracks had two shared points.  A null track always matched this case,
which removed the valid track.  We solve this by avoiding null tracks in
the duplicate checker.  They are removed separately in the null track
stage.

This also fixes a GTK-specific tree issue where we require the
BeforeReset()/AfterReset() calls instead of Cleared() to prevent GTK
from dereferencing a parent after freeing

Fixes https://gitlab.com/kicad/code/kicad/issues/10624
2022-01-28 16:34:00 -08:00
Seth Hillbrand 8ae304dcca Don't allow degenerate lines in dragger
If walkaround returns an invalid line, don't consider it for a track

Fixes https://gitlab.com/kicad/code/kicad/issues/9555
2022-01-28 15:18:42 -08:00
Seth Hillbrand 796893de56 Fix negative arc angles in PCAD import 2022-01-28 10:18:17 -08:00
alexfanqi ea52101c1b Add riscv64 support for libcontext
modified to match function arguments different from upstream

Author: Andreas Schwab
(cherry picked from commit 01f0aad7c0)
2022-01-27 08:56:46 -05:00
Wayne Stambaugh ca27b38182 Fix broken environment variable substitution on Windows.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10303

(cherry picked from commit 9af365b5b3)
2022-01-27 08:56:46 -05:00
jean-pierre charras 3f6a4296d9 Pcbnew, export svg: Fix incorrect saving of layer set.
From Master branch
2022-01-27 13:07:40 +01:00
jean-pierre charras 2a27899b9b French translation update.
Fixes #10588
https://gitlab.com/kicad/code/kicad/issues/10588
2022-01-25 09:38:39 +01:00
Marek Roszko 1a534ade89 Remove UpdateUI from preferences pdf viewer option
Partial fix for https://gitlab.com/kicad/code/kicad/-/issues/10590
2022-01-24 20:36:21 -05:00
Seth Hillbrand fddfce4fb1 Force a size event to avoid multiple yields
When the grid editor is shown, we also want to ensure that the grid gets
resized to account for the new editor.  Queuing the event will ensure
that happens after the editor is emplaced in the grid

Fixes https://gitlab.com/kicad/code/kicad/issues/5690
2022-01-24 15:31:45 -08:00
Wayne Stambaugh ab184ba9f3 Fix wxWidgets invalid string specifier assertion. 2022-01-24 15:44:42 -05:00
Seth Hillbrand a1615cce7e Enforce strictly weak ordering in sheets
This ensures that irreflexivity is given in sort ordering.  This may
have been triggering issues in MacOS when adding sheets

Fixes https://gitlab.com/kicad/code/kicad/issues/10557
2022-01-24 10:41:02 -08:00
Seth Hillbrand 871556ebda Allow time to update editor
On GTK, the full editor needs to be shown and, for some systems, the
editor will not show correctly.  By yielding we should allow the time to
recalculate sizes for the editor in the grid

Fixes https://gitlab.com/kicad/code/kicad/issues/5690
2022-01-24 09:55:46 -08:00
Marek Roszko 7152c4ebb8 Add extraction of patch version to feed to resource defines 2022-01-23 14:47:54 -05:00
Mark Roszko 34dafdd2c1 Try and silence the ci failure on windows 2022-01-23 19:23:43 +00:00
Seth Hillbrand f12d0cb0e2 Get all eeschema layers properly ordered
Layers not in the given order are drawn behind everyone else.  Missing
the text prevents global labels from showing properly in GAL order

Fixes https://gitlab.com/kicad/code/kicad/issues/10546
2022-01-23 10:03:03 -08:00
jean-pierre charras 029e42f8d1 DIALOG_SIM_SETTINGS: fix incorrect validation of DC souces in DC Transfer panel
From Master branch
Fixes #10568
https://gitlab.com/kicad/code/kicad/issues/10568
2022-01-23 17:01:55 +01:00
jean-pierre charras 60ae18893e PCB_POINT_EDITOR: fix missing init of PAD pos0 after changing
(From Master branch)
2022-01-22 10:43:23 +01:00
Marek Roszko e0b835fe20 Set curl to use the Windows cert store
(cherry picked from commit 3ede5f42be)
2022-01-22 03:10:11 +00:00
Steffen Mauch d6c4215a1f pcbnew: EAGLE importer does map value to wrong layer if nothing is defined in original EAGLE footprint
Fixes https://gitlab.com/kicad/code/kicad/issues/10311

(cherry picked from commit 55b782d66e)
2022-01-21 13:16:41 -08:00
Steven A. Falco 8b6a166698 Missing include file
(cherry picked from commit 042f584859)
2022-01-21 09:01:33 -08:00
jean-pierre charras e9a5e5466c SYMBOL_VIEWER_FRAME: fix refresh of the canvas after selecting a new symbol.
From Master branch
2022-01-21 17:34:51 +01:00
Jeff Young 0317185860 Don't update units for UNSCALED, PERCENT or DEGREES.
Fixes https://gitlab.com/kicad/code/kicad/issues/10020

(cherry picked from commit 27d8df1122)
2022-01-21 15:42:48 +00:00
Jeff Young c02cadec2a Exclude rules which match no enabled layers.
Fixes https://gitlab.com/kicad/code/kicad/issues/10227

(cherry picked from commit 0967cc82e2)
2022-01-21 15:06:18 +00:00
Jeff Young b608ebd058 Don't findnext on an empty string; show the dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/10313

(cherry picked from commit 60fc75e239)
2022-01-21 15:05:27 +00:00
Jeff Young 6d7659fb20 Flip arc endpoints when mirroring in FPEditor.
Fixes https://gitlab.com/kicad/code/kicad/issues/10550

(cherry picked from commit 7f6bc28f87)
2022-01-21 15:02:15 +00:00
Seth Hillbrand dd7029ea07 Always use the project directory for default save
Fixes https://gitlab.com/kicad/code/kicad/issues/10478
2022-01-20 11:51:16 -08:00
Seth Hillbrand 323a069738 Clear Undo list when renaming
Our undo/redo list is tied to the screen that gets cleared when we
reload the file after renaming.  We need to clear the Undo list at this
point to prevent possible crashes when moving too far back in the stack

Fixes https://gitlab.com/kicad/code/kicad/issues/10504
2022-01-20 11:28:41 -08:00
Seth Hillbrand 615eda816e Don't close filled polylines when printing
Eeschema/libedit support open, filled polylines.  When printing, this
should be drawn as a fill, followed by the polyline to avoid assumptions
about closed polygons in the graphic code

Fixes https://gitlab.com/kicad/code/kicad/issues/10537
2022-01-20 10:53:57 -08:00
Seth Hillbrand 6810479a19 Prevent UI updates from changing zoom selection
The zoom selection should only change when requested by the user, not in
response to UI updates.  This can cause unexpected zoom shifts when the
calculated zoom is within a range of one of the presets.  It also adds
unneeded calls during the UI update cycle

Fixes https://gitlab.com/kicad/code/kicad/issues/10498
2022-01-20 10:09:25 -08:00
jean-pierre charras d9c6765be7 ITMAP_BASE::DrawBitmap(): fix position of the clipping area when using matrix transform.
Fixes #10525
https://gitlab.com/kicad/code/kicad/issues/10525
From Master branch
2022-01-20 16:27:18 +01:00
Seth Hillbrand 857683d372 Remove unneeded distance calc 2022-01-18 15:58:20 -08:00
jean-pierre charras 24865971af DRAWING_SHEET_PARSER: fix missing parse of "T_comment" case for DS_DATA_ITEM_BITMAP.
Fixes #10477
https://gitlab.com/kicad/code/kicad/issues/10477
From Master.
2022-01-17 18:04:26 +01:00
jean-pierre charras 10ce515aca LSET::SeqStackupBottom2Top(): add missing user layers to list of layers
These missing layers were not exported in export SVG.
From master branch
2022-01-17 11:01:11 +01:00
Wayne Stambaugh da28ade004 Footprint editor: use most recently used path on footprint import.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10418

(cherry picked from commit c154e85ebd)
2022-01-16 09:48:21 -05:00
Marek Roszko f97a0fb3e9 Add a way to add a "revision" for use in windows manifests
(cherry picked from commit d4ee74a832)
2022-01-15 20:20:53 +00:00
Seth Hillbrand cccdac136f Fix transparent circle printing
DrawEllipse seems to work fine using transparent bg for all DCs except
printing (which is the only one we use now)  Use two arcs to draw a
transparent fill for the circle instead as a workaround until we
implement Cairo printing

Fixes https://gitlab.com/kicad/code/kicad/issues/10431
2022-01-14 16:13:05 -08:00
Jon Evans 2306d00c89 Do not check key states for non-key events in TryBefore
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10127
2022-01-13 22:28:45 -05:00
Jon Evans 20bbf9b179 PNS: Do not clear layer pairs when importing new sizes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10225
2022-01-13 20:37:37 -05:00