kicad/pcbnew
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
..
autorouter Overhaul arc internal model to not over-specify information. 2021-10-15 12:45:43 +01:00
board_stackup_manager Use ChangeValue() instead of SetValue() in some wxTextCtrl (It avoids generating unused events) 2021-12-23 18:36:42 +01:00
connectivity Tune connectivity progress reporter 2021-12-30 09:16:19 -05:00
dialogs Handle invalid pads more gracefully 2022-02-02 13:36:24 -08:00
drc Fix large memory leak in DRC 2022-01-28 17:07:11 -08:00
exporters export D356 netlist: fix incorrect id for pads type connectors. 2022-02-01 08:45:02 +01:00
import_gfx Scale vertex lineweights in DXF import 2021-12-07 16:23:44 -08:00
microwave Overhaul arc internal model to not over-specify information. 2021-10-15 12:45:43 +01:00
netlist_reader Move where flag is cleared to catch more cases 2021-12-08 20:46:53 -05:00
plugins EAGLE plugin: use specified RATIO value for text size calculation 2022-02-02 08:48:25 -08:00
python FOOTPRINT::GetProperty() swig extension 2022-01-13 13:10:44 -08:00
ratsnest Fix broken refactor from 0e65fe5 2021-12-07 12:38:05 -08:00
router Be more diligent in preventing drag line errors 2022-01-31 16:09:14 -08:00
specctra_import_export Remove escaped double-quotes 2021-11-03 17:03:14 -07:00
tools PCB_CONTROL::unfilledZoneCheck(): skip rule areas: they are not filled by definition. 2022-01-31 17:04:05 +01:00
widgets Fix saving of existing appearance presets 2022-01-02 11:59:19 -05:00
CMakeLists.txt Add win32 VERSION_INFO resource blocks for the DLLs 2021-12-29 04:56:26 +00:00
Doxyfile_python
Doxyfile_xml
action_plugin.cpp Ugly hack to avoid crash on msys2 when running Pcbnew after running Eeschema+its Python console 2021-08-14 21:08:56 +02:00
action_plugin.h Pcbnew header housekeeping round 1. 2021-06-04 09:08:38 -04:00
array_creator.cpp Array creator tool: Add option to assign unique reference designators 2021-10-25 22:38:49 +01:00
array_creator.h Array creator tool: Add option to assign unique reference designators 2021-10-25 22:38:49 +01:00
array_pad_number_provider.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
array_pad_number_provider.h We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
board.cpp Use progress reporting in more places when loading a board 2021-11-25 11:19:03 -05:00
board.h Use progress reporting in more places when loading a board 2021-11-25 11:19:03 -05:00
board_commit.cpp Fix creating polygons from footprint rule areas 2022-01-04 21:28:04 -05:00
board_commit.h Remove ZONE_FILLER_TOOL since it's not really necessary. 2021-07-31 01:50:42 +01:00
board_connected_item.cpp Cleanup (includes and formatting). 2021-08-03 18:37:23 +01:00
board_connected_item.h More NULL expunging. 2021-07-20 07:27:18 -04:00
board_design_settings.cpp Coverity fix 2021-12-15 23:17:04 -05:00
board_item.cpp Teach router about different keepout rules. 2021-11-27 00:55:04 +00:00
board_item_container.h
build_BOM_from_board.cpp Pcbnew: honor footprint exclude from BOM setting. 2022-01-09 11:30:06 -05:00
cleanup_item.cpp
cleanup_item.h Pcbnew header housekeeping round 1. 2021-06-04 09:08:38 -04:00
collectors.cpp More NULL expunging. 2021-07-20 07:27:18 -04:00
collectors.h Rename layer ids file. 2021-07-29 16:03:25 +01:00
convert_shape_list_to_polygon.cpp Formatting. 2021-11-26 18:14:29 +00:00
convert_shape_list_to_polygon.h Push most of PCB_SHAPE impl down in to EDA_SHAPE. 2021-10-15 12:45:43 +01:00
cross-probing.cpp Fill in some missing GetMsgPanelItems and make some others consistent. 2021-09-27 00:23:40 +01:00
edit.cpp Update call signature for SwitchLayer 2021-12-09 10:14:11 -08:00
edit_track_width.cpp PCB Editor: changes to track width overrides starting track width 2021-12-15 23:32:48 +00:00
edit_zone_helpers.cpp Recalculate ratsnest after zone fill 2021-12-14 13:37:15 -08:00
files.cpp Use progress reporting in more places when loading a board 2021-11-25 11:19:03 -05:00
footprint.cpp Don't consider heatsink, castellated or fiducial pads for THT vs SMD. 2021-11-29 16:45:42 +00:00
footprint.h Skip newly-added footprints in connectivity 2021-12-08 20:39:12 -05:00
footprint_edit_frame.cpp Ensure LIB_TREE cleans up while frame still exists 2022-01-08 17:32:17 -05:00
footprint_edit_frame.h Don't leave stranded symbols/footprints in editors when doc closes. 2021-12-23 17:01:25 +00:00
footprint_editor_settings.cpp Coverity issue fixes. 2021-11-13 11:38:31 -05:00
footprint_editor_utils.cpp Move centering of lib-tree item to idle event. 2021-10-01 22:46:14 +01:00
footprint_info_impl.cpp Catch errors from `load()` 2022-01-03 15:30:20 -08:00
footprint_info_impl.h Pass wxString objects by reference instead of on the stack. 2021-07-27 08:41:27 -04:00
footprint_libraries_utils.cpp Footprint editor: use most recently used path on footprint import. 2022-01-16 09:48:21 -05:00
footprint_preview_panel.cpp
footprint_preview_panel.h Kill the last of wx/wx.h in headers 2021-06-07 17:59:20 -04:00
footprint_tree_pane.cpp Rename SCH_COMPONENT to SCH_SYMBOL. 2021-06-10 10:34:49 -04:00
footprint_tree_pane.h
footprint_viewer_frame.cpp Browse footprint libraries now remember window-size and position 2021-12-12 09:02:15 +01:00
footprint_viewer_frame.h Remove vestiges of old zoom-auto architecture. 2021-09-19 18:32:15 +01:00
footprint_wizard.cpp More NULL expunging. 2021-07-20 07:27:18 -04:00
footprint_wizard.h Pcbnew header housekeeping round 1. 2021-06-04 09:08:38 -04:00
footprint_wizard_frame.cpp Fill in some missing GetMsgPanelItems and make some others consistent. 2021-09-27 00:23:40 +01:00
footprint_wizard_frame.h Pcbnew header housekeeping round 1. 2021-06-04 09:08:38 -04:00
footprint_wizard_frame_functions.cpp Freshen microwave polygon dialog and remove a bunch of dead code. 2021-08-03 01:11:11 +01:00
fp_shape.cpp Flip arc endpoints when mirroring in FPEditor. 2022-01-21 15:02:15 +00:00
fp_shape.h Finish arc rework and push out to file formats. 2021-10-15 12:45:43 +01:00
fp_text.cpp Remove locking from footprint editor. 2021-10-31 16:33:03 +00:00
fp_text.h
fp_text_grid_table.cpp Add hot-updating of units in common wxGrids. 2021-12-23 17:01:34 +00:00
fp_text_grid_table.h Add hot-updating of units in common wxGrids. 2021-12-23 17:01:34 +00:00
fp_tree_model_adapter.cpp Fix kicad_string.h / string.cpp mismatch. 2021-07-29 16:03:25 +01:00
fp_tree_model_adapter.h
fp_tree_synchronizing_adapter.cpp Fix kicad_string.h / string.cpp mismatch. 2021-07-29 16:03:25 +01:00
fp_tree_synchronizing_adapter.h
generate_footprint_info.cpp Fix kicad_string.h / string.cpp mismatch. 2021-07-29 16:03:25 +01:00
generate_footprint_info.h
graphics_cleaner.cpp Overhaul arc internal model to not over-specify information. 2021-10-15 12:45:43 +01:00
graphics_cleaner.h Pull some name changes back from 7.0 to ease merging. 2021-07-21 20:58:59 +01:00
grid_layer_box_helpers.cpp
grid_layer_box_helpers.h
initpcb.cpp More NULL expunging. 2021-07-20 07:27:18 -04:00
invoke_pcb_dialog.h
io_mgr.cpp Kicad has many plugins. This one is for the pcb. 2021-11-25 12:56:46 +00:00
io_mgr.h Formatting and include cleanup. 2021-06-25 17:48:15 +01:00
kicad_clipboard.cpp Handle Unicode clipboard data in pcbnew and symbol editor 2022-01-12 09:23:24 -08:00
kicad_clipboard.h Kicad has many plugins. This one is for the pcb. 2021-11-25 12:56:46 +00:00
load_select_footprint.cpp Clean up unused variable usage 2021-10-05 10:00:30 -07:00
menubar_footprint_editor.cpp "Document" properties go in File menu; Edit menu is for item props. 2021-11-20 22:44:43 +00:00
menubar_pcb_editor.cpp KIFACE_I -> KIFACE_BASE. 2021-09-14 23:45:14 +01:00
netinfo.h Make Clone functions for NETINFO_ITEM and PCB_MARKER 2021-12-01 00:47:22 +01:00
netinfo_item.cpp Fix kicad_string.h / string.cpp mismatch. 2021-07-29 16:03:25 +01:00
netinfo_list.cpp More NULL expunging. 2021-07-20 07:27:18 -04:00
pad.cpp Pad with hole same size or larger than pad isn't flashed. 2021-12-08 23:16:33 +00:00
pad.h Pcbnew: fix chamfered rectangular pad definitions in GenCAD exporter. 2021-11-24 12:54:44 -05:00
pad_custom_shape_functions.cpp Handle invalid pads more gracefully 2022-02-02 13:36:24 -08:00
pcb_base_edit_frame.cpp Do not check key states for non-key events in TryBefore 2022-01-13 22:28:45 -05:00
pcb_base_edit_frame.h Use progress reporting in more places when loading a board 2021-11-25 11:19:03 -05:00
pcb_base_frame.cpp Update call signature for SwitchLayer 2021-12-09 10:14:11 -08:00
pcb_dimension.cpp Prevent clipping by default 2022-01-04 12:11:23 -08:00
pcb_dimension.h Convert Altium radial dimensions to leaders. 2021-07-24 14:25:59 +01:00
pcb_display_options.cpp Impleent persistence for no-connect pad setting. 2021-09-01 00:00:12 +01:00
pcb_draw_panel_gal.cpp Fix single-threaded loads/connectivity 2021-12-14 17:18:46 -08:00
pcb_draw_panel_gal.h Use progress reporting in more places when loading a board 2021-11-25 11:19:03 -05:00
pcb_edit_frame.cpp Fix race condition with ShowEventCounters on Windows 2021-12-26 13:33:18 +00:00
pcb_edit_frame.h Update call signature for SwitchLayer 2021-12-09 10:14:11 -08:00
pcb_expr_evaluator.cpp Respect context layer in eval 2021-10-15 10:35:29 -07:00
pcb_expr_evaluator.h Add a compile error for ill-defined rules, and more performance. 2021-08-16 12:14:17 +01:00
pcb_group.cpp Remove locking from footprint editor. 2021-10-31 16:33:03 +00:00
pcb_item_containers.h Prefix TRACK, ARC and VIA. 2021-06-11 22:07:02 +01:00
pcb_layer_box_selector.cpp Rename layer ids file. 2021-07-29 16:03:25 +01:00
pcb_layer_box_selector.h Pcbnew header housekeeping round 1. 2021-06-04 09:08:38 -04:00
pcb_marker.cpp Scale markers somewhat proportionally to zoom. 2021-12-23 17:01:01 +00:00
pcb_marker.h Scale markers somewhat proportionally to zoom. 2021-12-23 17:01:01 +00:00
pcb_origin_transforms.cpp
pcb_origin_transforms.h
pcb_painter.cpp Fix highlighting color logic when net colors are active 2022-01-02 12:11:24 -05:00
pcb_painter.h Use board's maxError value when possible. 2021-09-07 00:14:18 +01:00
pcb_plot_params.cpp Move plotter headers into include folder. 2021-08-18 16:38:31 -04:00
pcb_plot_params.h Move plotter headers into include folder. 2021-08-18 16:38:31 -04:00
pcb_plot_params_parser.h
pcb_screen.cpp Rename layer ids file. 2021-07-29 16:03:25 +01:00
pcb_shape.cpp Remove locking from footprint editor. 2021-10-31 16:33:03 +00:00
pcb_shape.h Overhaul arc internal model to not over-specify information. 2021-10-15 12:45:43 +01:00
pcb_target.cpp PCB_TARGET: add missing TransformShapeWithClearanceToPolygon() method. 2022-01-29 20:07:14 +01:00
pcb_target.h PCB_TARGET: add missing TransformShapeWithClearanceToPolygon() method. 2022-01-29 20:07:14 +01:00
pcb_text.cpp Fix PCB_TEXT hit test, take two 2021-12-06 01:05:37 +01:00
pcb_text.h PCB_TEXT: remove "hide" option, because they are never hidden. 2021-07-18 14:58:21 +02:00
pcb_track.cpp Remove track min width from the status bar. 2021-11-12 17:31:50 +00:00
pcb_track.h Remove track min width from the status bar. 2021-11-12 17:31:50 +00:00
pcb_view.cpp
pcb_view.h Rename layer ids file. 2021-07-29 16:03:25 +01:00
pcbnew.cpp Make OpenGL default for all apps 2021-11-21 12:33:07 -08:00
pcbnew.h Add Python Tool to pcbnew 2021-06-01 20:18:24 +00:00
pcbnew.icns Add drop shadows to MacOS icons 2021-07-30 20:55:34 -07:00
pcbnew_config.cpp Normalize drawing sheet path to env vars & prj, not just prj. 2021-10-02 23:39:45 +01:00
pcbnew_config.h
pcbnew_doc.icns Add drop shadows to MacOS icons 2021-07-30 20:55:34 -07:00
pcbnew_id.h Add Python Tool to pcbnew 2021-06-01 20:18:24 +00:00
pcbnew_printout.cpp pcbnew print: minor fix: option edge.cut on all layers not stored. Fixes #10046 https://gitlab.com/kicad/code/kicad/issues/10046 2021-12-23 18:36:42 +01:00
pcbnew_printout.h Prefix TRACK, ARC and VIA. 2021-06-11 22:07:02 +01:00
pcbnew_settings.cpp pcbnew print: minor fix: option edge.cut on all layers not stored. Fixes #10046 https://gitlab.com/kicad/code/kicad/issues/10046 2021-12-23 18:36:42 +01:00
pcbnew_settings.h pcbnew print: minor fix: option edge.cut on all layers not stored. Fixes #10046 https://gitlab.com/kicad/code/kicad/issues/10046 2021-12-23 18:36:42 +01:00
pcbplot.cpp Move to getters/setters for aux and grid origin 2021-11-08 22:36:40 -05:00
pcbplot.h Rename layer ids file. 2021-07-29 16:03:25 +01:00
plot_board_layers.cpp Plot pads in layer color 2022-01-07 08:55:59 -08:00
plot_brditems_plotter.cpp Replace individual LIB_* shapes with LIB_SHAPE (based on EDA_SHAPE). 2021-10-15 12:45:43 +01:00
plotcontroller.h Rename layer ids file. 2021-07-29 16:03:25 +01:00
plugin.cpp Clean up unused variable usage 2021-10-05 10:00:30 -07:00
sel_layer.cpp Fixup PCB_ONE_LAYER_SELECTOR 2021-09-22 15:57:27 -07:00
toolbars_footprint_editor.cpp Add missing view controls for FP Editor Appearance Manager. 2021-10-31 16:33:03 +00:00
toolbars_footprint_viewer.cpp Remove vestiges of old zoom-auto architecture. 2021-09-19 18:32:15 +01:00
toolbars_pcb_editor.cpp PCB Editor: changes to track width overrides starting track width 2021-12-15 23:32:48 +00:00
tracks_cleaner.cpp Don't count zero-length as duplicate 2022-01-28 16:34:00 -08:00
tracks_cleaner.h Prefix TRACK, ARC and VIA. 2021-06-11 22:07:02 +01:00
undo_redo.cpp pcbnew, undo_redo.cpp: fix a logical bug that can hang in rare cases. 2021-09-08 13:06:55 +02:00
zone.cpp Remove locking from footprint editor. 2021-10-31 16:33:03 +00:00
zone.h Formatting. 2021-10-26 17:19:30 +01:00
zone_filler.cpp PCB_TARGET: add missing TransformShapeWithClearanceToPolygon() method. 2022-01-29 20:07:14 +01:00
zone_filler.h Decouple PROGRESS_REPORTER interface from implementations. 2021-08-14 21:05:49 +01:00
zone_settings.cpp Fix uninitialized variable. 2021-05-08 20:49:51 +01:00
zone_settings.h Rename layer ids file. 2021-07-29 16:03:25 +01:00
zones.h
zones_functions_for_undo_redo.cpp Fix source comment / documentation typos 2021-06-09 19:32:58 +00:00
zones_functions_for_undo_redo.h