Jeff Young
4d9b4428fa
It's never a good idea to dereference a freed pointer.
...
Fixes: lp:1809897
* https://bugs.launchpad.net/kicad/+bug/1809897
2018-12-27 13:33:19 +00:00
Maciej Suminski
bce4a45ab4
Fixed a crash when trying to highlight a not existing component
2018-12-27 13:45:41 +01:00
Jeff Young
f6e6ac3162
Don't issue errors for externally-defined env variables.
...
Fixes: lp:1809300
* https://bugs.launchpad.net/kicad/+bug/1809300
2018-12-26 21:36:04 +00:00
Tomasz Włostowski
a3d8ab911f
router: improved snap-to-clearance zone algorithm in highlight collisions mode
2018-12-25 02:29:23 +01:00
Tomasz Włostowski
c777eac000
eeschema: improved highlighting of PCB->SCH cross-probed components/labels/pins
...
Fixes: lp:1796990
* https://bugs.launchpad.net/kicad/+bug/1796990
2018-12-24 15:35:25 +01:00
Tomasz Włostowski
5b4e6b21f2
SELECTION_AREA: ensure single-pixel-wide selection rectangle border
...
Fixes: lp:1801558
* https://bugs.launchpad.net/kicad/+bug/1801558
2018-12-24 15:35:25 +01:00
Tomasz Włostowski
3adb8d56c5
OPENGL_GAL: no need to draw line caps when drawing a polyline, the shader takes care of them already
2018-12-24 15:35:25 +01:00
Tomasz Włostowski
029fdaccc0
gal: re-enable scrolbar arrow buttons
...
Fixes: lp:1690780
* https://bugs.launchpad.net/kicad/+bug/1690780
2018-12-24 15:35:25 +01:00
Jeff Young
0c0dda54bf
Close any active editor before rebuilding netclass lists.
...
Fixes: lp:1809555
* https://bugs.launchpad.net/kicad/+bug/1809555
2018-12-24 01:55:02 +00:00
Tomasz Włostowski
bebbe6ed22
pcbnew: disable autopanning when cursor entered auto-pan margin following a keyboard cursor move command
...
Fixes: lp:1803523
* https://bugs.launchpad.net/kicad/+bug/1803523
2018-12-23 18:58:12 +01:00
Jeff Young
10887868dc
More changes to clean up redraw after an undo.
...
Fixes: lp:1803038
* https://bugs.launchpad.net/kicad/+bug/1803038
2018-12-22 22:13:23 +00:00
jean-pierre charras
dde933ba08
When printing, pads are not always printed (especially on tech layers)
...
A printing mode is added, to force ViewGetLOD() to return 0 in printing mode (pads are always drawn)
Fixes: lp:1809528
https://bugs.launchpad.net/kicad/+bug/1809528
2018-12-22 13:44:49 +01:00
Jeff Young
4c184f07a6
Clean up undo when cancelling block operation.
...
Fixes: lp:1809444
* https://bugs.launchpad.net/kicad/+bug/1809444
2018-12-21 22:45:57 +00:00
Jeff Young
51e6f56300
Clean up view when aborting move item.
...
Fixes: lp:1809444
* https://bugs.launchpad.net/kicad/+bug/1809444
2018-12-21 20:32:10 +00:00
Jeff Young
6eca924365
Clear hidden flags on undo.
...
Fixes: lp:1803038
* https://bugs.launchpad.net/kicad/+bug/1803038
2018-12-21 16:39:10 +00:00
jean-pierre charras
9dedbc74a3
Gerbview exporter: fix a wxASSERT.
2018-12-21 13:48:00 +01:00
jean-pierre charras
5f3cbff977
Pcbnew, DIALOG_SET_GRID_BASE: A few cosmetic enhancements and fix a wxWidgets minor alert
2018-12-21 10:15:15 +01:00
Seth Hillbrand
ec93fb3171
pcbnew: Fracture polygons before plotting
...
While not technically allowed, overlapping polygons can be drawn in
pcbnew. Gerber polygons are strictly simple, however, so we need to
fracture prior to exporting to avoid invalid gerbers.
2018-12-20 17:07:47 -08:00
jean-pierre charras
1d230bbee9
very minor fixes to help I18n translations (remove trailing spaces)
2018-12-20 20:19:45 +01:00
Seth Hillbrand
db43ed72fe
swig: clear up some warnings
2018-12-20 11:04:55 -08:00
Seth Hillbrand
55f2a79957
pcbnew: locking connectivity using RAII
...
Rather than depend on proper unlocking for each exit, we move the
connectivity lock mutex into an RAII-type configuration that
automatically unlocks on exit.
2018-12-20 11:04:08 -08:00
Maciej Suminski
24f9bfa13b
Fixed memory leaks
...
This is commit a9efbf47
with a fix for SWIG to deal with unique_ptr.
2018-12-20 10:05:58 +01:00
jean-pierre charras
22d8ddb207
Pcbnew, legacy canvas, context menu for zones: better name for move and delete corner commands.
2018-12-20 08:47:45 +01:00
Seth Hillbrand
135ff314ca
pcbnew: Correct layer naming
...
Layer bit sets get chosen for the layer name, starting with the copper
layers and then the technicals. Additionally, multi-layer pads are
appended with an indicator that additional layer bits are set.
Fixes: lp:
* https://bugs.launchpad.net/kicad/+bug/
2018-12-19 20:58:36 -08:00
Seth Hillbrand
8f7c073514
pcbnew: Check for valid pointer before deref
...
In legacy toolkit, we do not keep the corner pointers, so dereferencing
causes crashes.
Fixes: lp:1808852
* https://bugs.launchpad.net/kicad/+bug/1808852
(cherry picked from commit 4aeef1e09e
)
2018-12-19 16:54:34 -08:00
jean-pierre charras
83d851956c
classes MARKER rework: remove duplicate code. Better HitTest code (HitTest takes in account the actual shape)
2018-12-19 19:53:27 +01:00
jean-pierre charras
15843ae01a
class MARKER rework: fix a few minor issues, remove duplicate code and add comments.
2018-12-19 15:13:31 +01:00
Seth Hillbrand
64f1fb9e79
tesselation: Re-check polygon count after fracturing
...
The fracture() call may result in zero polygons remaining, which will
cause failure in our tesselation routine, so we need to check whether
this is a valid POLYGON before re-tesselating.
2018-12-18 13:49:13 -08:00
Seth Hillbrand
e5f5443762
modedit: Allow wildcard footprint import
...
When importing footprints, some are generated with non-standard (e.g.
"mod") extensions. As a last option, we allow the * wildcard to select
these files for import.
2018-12-18 11:45:39 -08:00
Seth Hillbrand
214d8d3703
kicad2step: Handle quoted layers
...
Quoted layers are parsed by kicad2step as strings but were only
expecting symbols. This threw an error when exporting.
2018-12-18 10:17:22 -08:00
Seth Hillbrand
2498da2745
Tesselation: Only set valid when successful
...
Tesselation can fail for a number of reasons. When this happens, we set
the triangulationValid flag to false to prevent using the broken
triangulation. This will fall back to the slow OpenGL triangulation
when DrawPolygon is called.
2018-12-18 09:16:16 -08:00
jean-pierre charras
388397f97d
Protect TesselatePolygon() against degenerated polygons (less than 3 corners) to avoid crashes.
...
Use TesselatePolygon() to draw polygons in Gerbview instead of GLU tesselation, much slower.
Add helper methods in GAL to know if the current GAL engine is Cairo, OpenGL or something else,
useful to optimize drawing code.
2018-12-18 12:49:14 +01:00
Seth Hillbrand
7f5503a783
tesselation: Fix winding order bug
...
Typo created a couple issues with calculating winding order.
2018-12-17 17:13:13 -08:00
Seth Hillbrand
657bf2b53e
tesselation: In case of failure, re-fracture
...
Simplification with clipper can produce a polygon with holes. We need
to re-call simplify followed by fracture to ensure valid triangulation
2018-12-17 17:02:32 -08:00
Seth Hillbrand
e49242bc54
tesselation: Check winding order
...
Although copper layers are always tesselated CCW, polygons in footprints
will be CW if flipped to the back layer, resulting in a bad render.
2018-12-17 12:45:28 -08:00
Seth Hillbrand
98d6d68e2d
tesselate: Check for non-polygons
...
Elements with only 0, 1 or 2 vertices cannot form valid polygons, so do
not attempt to tesselate them.
2018-12-17 11:45:30 -08:00
Wayne Stambaugh
fc69e6532c
Unify "Read netlist" and "Load netlist" UI strings.
2018-12-17 10:18:44 -05:00
Jeff Young
95dcc30ffb
Load footprint browser with last-selected footprint.
2018-12-16 21:59:42 +00:00
jean-pierre charras
638b4384ec
eeschema: fix issue: Moving a hierarchical pin slightly move also other hierarchical pins
...
Fixes: lp:1808687
https://bugs.launchpad.net/kicad/+bug/1808687
2018-12-16 15:31:31 +01:00
jean-pierre charras
6a0319f6b7
autoplacer: minor fixes.
2018-12-16 10:43:47 +01:00
Jeff Young
2e907bfaa3
Don't throw DRC errors for hidden copper text.
...
Fixes: lp:1808651
* https://bugs.launchpad.net/kicad/+bug/1808651
2018-12-15 22:30:11 +00:00
Jeff Young
f69ea8b4a2
Don't cut invisible module text out of zones.
...
Fixes: lp:1808651
* https://bugs.launchpad.net/kicad/+bug/1808651
2018-12-15 20:15:19 +00:00
Frank Severinsen
e2ed0e6557
Move sheet pins in front of sheetedge & move them in by ½ line width
2018-12-15 20:15:19 +00:00
Jeff Young
c437ca1640
Fix some formatting issues.
2018-12-15 20:15:19 +00:00
jean-pierre charras
ed28b7e29b
Autorouter rework: remove outdated or dead code, add comments and display the footprints as soon as a footprint is placed
2018-12-15 17:50:42 +01:00
Seth Hillbrand
968ea983aa
GLM: Check for incompatible glm version in cmake
...
GLM version 0.9.9.3 has a C++11 error that causes issues for KiCad.
Earlier version function as expected. Since GLM is header-only, forcing
the version during compilation is sufficient to ensure that the
executable functions correctly.
Fixes: lp:1804030
* https://bugs.launchpad.net/kicad/+bug/1804030
2018-12-14 16:29:18 -08:00
Seth Hillbrand
7e9fee285f
pcbnew: Align/Distribute handle locking
...
This fixes the handling of align/distribute tool when called on locked
items. Locked items cannot be moved but they may be used for the target
of an align/distribute operation.
Fixes: lp:1808238
* https://bugs.launchpad.net/kicad/+bug/1808238
2018-12-14 16:04:07 -08:00
Seth Hillbrand
0a26388901
pcbnew: Break track in edit mode
...
Enables the ability to break a track into two segments when operating in
the edit mode rather than in router.
Fixes: lp:1779788
* https://bugs.launchpad.net/kicad/+bug/1779788
2018-12-14 09:59:25 -08:00
jean-pierre charras
f452eafcd6
Eeschema: Be sure the screen is refreshed when changing the zoom level.
...
Fixes: lp:1802302
https://bugs.launchpad.net/kicad/+bug/1802302
2018-12-14 12:51:30 +01:00
Seth Hillbrand
3e640030f3
Remove inadvertent committed fp-info-cache
...
Add fp-info-cache to gitignores as well.
2018-12-13 14:55:30 -08:00