Ian McInerney
06c979dfaa
Convert all CMake paths to absolute instead of relative
...
It is cleaner and safer to handle the include and source paths
as absolute from the source directory instead of relative to every
path.
2020-01-22 23:27:20 +00:00
Ian McInerney
752bc5b7ba
Update technical todo
...
Add a section mentioning C++20 and the new constexpr
std::string and std::vector that we can use.
2020-01-21 11:03:55 +00:00
Mark Roszko
10a862c458
Recursively add KiCad and GEDA libraries inside a folder
...
CHANGED: KiCad and GEDA libraries can now be added recursively by selecting a parent folder.
2020-01-21 10:39:07 +00:00
Jeff Young
a91ca785e5
Better to warn user and orphan nets than refuse to open board.
2020-01-21 09:29:33 +00:00
jean-pierre charras
dd46a918a8
Fix bug: Cross-probing of pins to pads selects entire footprint instead of desired pad.
...
Fixes #3791
https://gitlab.com/kicad/code/kicad/issues/3791
2020-01-20 18:35:20 +01:00
qu1ck
32674ef360
Fix polygon shape move
...
Move vector should not affect start/end points as they are assumed to
always be 0,0. Polygon is defined by outline only.
2020-01-20 03:49:41 +00:00
Seth Hillbrand
7c296fbcb7
GRID_HELPER: Provide alignment axes from snap points
...
ADDED: alignment lines from item snap points
Alignment lines are shown when moving the cursor horizontally or
vertically from a possible snap point.
2020-01-18 20:43:40 -08:00
Seth Hillbrand
73d6169338
pcbnew: Check before reading/writing cache
...
The open/create calls can fail so we need to account for this before
using the result that assumes success.
2020-01-17 18:30:17 -08:00
brian piccioni
8341398082
Save footprint errors in the DRC log
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3754
2020-01-18 01:40:43 +00:00
Seth Hillbrand
c4fff95078
PNS: Detect collisions including newline width
...
The new line collision search uses BBox() to check for colliding
objects. BBox in the SHAPE_LINE_CHAIN did not include width as the
chains were assumed to be zero-width. This is not the case for
PNS::LINE elements.
We mostly don't notice this because DRC checks for SEGMENT collisions
but it becomes obvious/annoying when we cannot place a track for unknown
reasons and the snap-back doesn't take line width into account.
Fixes #3776 | https://gitlab.com/kicad/code/kicad/issues/3776
2020-01-17 11:23:08 -08:00
Seth Hillbrand
f7cb970a02
PNS: Modify MarkObstacles logic to select shorter
...
When routing where we hit multiple obstacles, we choose the shortest
path to allow overlapping hits to choose the shorter path, thus giving a
better chance of returning true for the DRC-compliant path.
Fixes #3773 | https://gitlab.com/kicad/code/kicad/issues/3773
2020-01-16 19:57:38 -08:00
Ian McInerney
56f6b529c8
Simplify 3D object cache class structure
...
Remove the CACHE_WRAPPER whose sole purpose was to allow the
cache to be stored in the project, and instead just have the cache
inherit the proper class.
2020-01-15 23:32:05 +00:00
Jeff Young
102f5f479c
Handle uninitialized nets gracefully.
2020-01-15 19:40:20 +00:00
Jeff Young
cfa407616f
Don't allow degenerate arcs & circles. Trouble will follow.
2020-01-15 18:50:47 +00:00
Jeff Young
dcfb7cadce
Avoid divide-by-zero.
2020-01-15 18:21:42 +00:00
Jeff Young
9df2cfb328
More uninitialized variables.
2020-01-13 20:16:40 +00:00
Jeff Young
91d1508c16
Fix some Coverity identified issues.
2020-01-13 20:16:40 +00:00
Ian McInerney
3ab9db6ff1
Update cast in PNS since we are guaranteed to have text
...
We are guaranteed that the BOARD_ITEM will be a TEXTE_MODULE
since we have tested its type already, so just use a static_cast
to remove the overhead.
2020-01-13 19:42:49 +00:00
Ian McInerney
81ee5edcaf
Test dynamic_cast for safety from future changes
2020-01-13 15:22:26 +00:00
Ian McInerney
34bc0a4e96
pcbnew_control: Replace C casts with C++ casting
2020-01-13 14:19:44 +00:00
Ian McInerney
e2853862e5
Cleanup redundant type casting
2020-01-13 14:00:45 +00:00
Ian McInerney
8fc434be19
Formatting change for dynamic cast tests
2020-01-13 01:48:57 +00:00
Ian McInerney
36f6b4a9b4
Clean up redundant dynamic casts
2020-01-13 01:39:08 +00:00
Jeff Young
94f8aafec5
Fix missing variable initialization.
2020-01-13 00:18:49 +00:00
Jeff Young
d24bd5c832
Fix a couple of Coverity issues.
2020-01-12 21:07:41 +00:00
Jeff Young
8d0f31f6f4
Clean a bunch of legacy code out of the Filter Selection dialog.
2020-01-12 20:53:56 +00:00
Jeff Young
127c66285b
Rename old DIALOG_BLOCK_OPTIONS to DIALOG_FILTER_SELECTION....
...
... which is what it has done for some time now.
2020-01-12 20:30:58 +00:00
Jeff Young
836c1ea56e
Fix a bunch of un-caught boost::bad_pointer exceptions.
...
This also removes vector cover types which do nothing except obfuscate
the underlying implementation.
Mainly changes SCH_SHEET_PINS and CONFIG_PARAM_ARRAY (which will soon
be replaced by Jon's new stuff).
2020-01-12 19:55:00 +00:00
Ian McInerney
b445ce6632
Clean up pointer casting
...
* Make note of when dynamic cast is actually needed
* Convert some to static cast when we know the type for sure
2020-01-12 19:45:37 +00:00
Ian McInerney
4ffbefb9dc
Use the layer from the module item instead
...
They are both from the same argument, but this one make coverity happy.
2020-01-12 19:39:39 +00:00
Seth Hillbrand
52bfdb9703
PNS: Assume the current line is a base before optimizing
...
We use the cost of the current line before trying to improve the pad
breakout cost when optimizing the smart pads
Fixes #3759 | https://gitlab.com/kicad/code/kicad/issues/3759
2020-01-12 11:08:46 -08:00
Ian McInerney
3346f812a9
Cleanup error handling in VRML export (from coverity scan)
2020-01-12 17:18:08 +00:00
Ian McInerney
00e58cd974
Fix unintialized values (from coverity scan)
2020-01-12 13:00:42 +00:00
Seth Hillbrand
76c26d6ae1
Remove unneeded unique_ptr
...
The unique_ptr was useful when the original function took multiple paths
which could de-scope the pointer. Current use allowed potential
use-after-free. This is now re-written to pass pointer directly.
2020-01-11 17:29:12 -08:00
Jeff Young
3d8150032f
Fix some uninitialized variables found by Coverity.
2020-01-11 21:29:25 +00:00
Jeff Young
2e509480a4
Fix guaranteed divide-by-zero error when called with correction of 0.
2020-01-11 21:29:25 +00:00
Jeff Young
715448611d
Fix potential divide-by-zero (from Coverity scan).
2020-01-11 21:29:25 +00:00
Jeff Young
17710c15d3
Fix leak of empty PICKED_ITEMS_LIST.
2020-01-11 21:29:25 +00:00
Jeff Young
9182b3a850
Remove dead code and simplify remaining logic.
2020-01-11 21:29:25 +00:00
Ian McInerney
43abd53b19
Clarify limits of the if statement
2020-01-11 21:28:25 +00:00
Ian McInerney
f896043067
Fix comments for switch statement fall throughs
...
This cleans up all GCC warnings (-Wimplicit-fallthrough=2) about
implicitly falling through switch cases.
2020-01-11 19:16:32 +00:00
Seth Hillbrand
7c28c3838a
Comment-only changes
...
Makes class comments conform to coding standards
2020-01-10 16:43:01 -08:00
Jeff Young
254ba1f998
Fix null pointer access (from Coverity scan).
2020-01-11 00:15:47 +00:00
Jeff Young
88eab8134e
Fix a couple of uninitialized variables (from Coverity scan).
2020-01-11 00:11:31 +00:00
Jeff Young
7bb9551801
Handle boost exceptions. (From Coverity scan.)
2020-01-11 00:04:01 +00:00
Jeff Young
5e5edd03f6
Implement super- and subscript printing and plotting for eeschema.
2020-01-10 22:32:49 +00:00
Jeff Young
e03281a9ae
Allow exclusive-or selections on OSX.
2020-01-10 22:32:49 +00:00
Ian McInerney
7c61b83df6
Code cleanup
2020-01-10 20:10:29 +00:00
Ian McInerney
5e6c6e7e22
Fix memory leak in the footprint preview panel
...
The cached modules were never deleted, so they would
leak whenever the panel was closed.
2020-01-10 20:10:29 +00:00
Seth Hillbrand
77c60d9655
Remove the last vestiges of dlist
...
It served us (mostly) well for more than a decade. It helped KiCad grow
before the std:: came into decent shape or speed. It was a good little
list.
RIP DLIST 2008-2020
2020-01-10 06:37:08 -08:00