kicad/pcbnew
Seth Hillbrand fdc3806ed1 Protect courtyard cache regen
The courtyards are referenced by multiple calls and will be rebuilt on
command.  If this happens during zone fill (because the board timestamp
has incremented since the start) multiple threads may generate the cache
at the same time, leaving one with an invalid pointer

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

(cherry picked from commit df5dd15c6f)
2024-04-18 08:41:43 -07:00
..
autorouter Centralize text size clamping. 2023-06-03 20:29:51 +01:00
board_stackup_manager Ensure stackup material returned is correct after list item deletion 2024-02-03 18:06:40 +00:00
connectivity Behave (or assert) when source or target are null or dirty. 2023-11-01 17:11:42 +00:00
dialogs PCB: update footprint field when changing footprints 2024-04-02 08:18:23 -04:00
drc Mask aperture pads can have multiple layers 2024-04-16 15:54:36 -07:00
exporters STEP export: don't fail when can't construct a wire. 2024-04-17 01:35:00 +03:00
generators Do not run DRAWING_TOOL::PlaceTuningPattern() inside the footprint editor 2024-03-21 15:22:13 +01:00
git Rename PCB IO classes/files 2023-12-24 01:22:21 +00:00
import_gfx Don't import invalid polygons. 2024-02-25 12:29:02 +00:00
microwave Cleanup. 2023-11-25 13:12:45 +00:00
navlib Introduce action friendly names 2023-10-27 23:58:29 +01:00
netlist_reader BOARD_NETLIST_UPDATER: fix issue when reading net-lists having no FOOTPRINT_FIELD 2024-02-11 21:03:00 +01:00
pcb_io Fix parsing of legacy text hide token 2024-04-02 18:26:30 -04:00
python Fix SWIG wrapper for AddPrimitive 2024-04-05 03:09:35 +00:00
ratsnest Ensure that we are not calculating self-collision 2024-04-14 13:50:44 -07:00
router Re-add routine to remove duplicate points 2024-04-11 14:20:50 +03:00
specctra_import_export Added a ImportSpecctraSession overload that doesn't require a PCB_EDIT_FRAME 2023-11-20 03:06:27 +00:00
teardrop teardrops: calculate better points on track for track arc. 2024-02-23 17:52:08 +01:00
tools Fix slow selection time when calculating clearance 2024-04-01 17:55:29 -07:00
widgets Sort netnames in properties panel 2024-03-28 13:06:18 -07:00
CMakeLists.txt Remove Export Settings to Other Similar Zones. 2024-02-03 13:22:16 +00:00
Doxyfile_python
Doxyfile_xml
action_plugin.cpp
action_plugin.h
array_creator.cpp Clean up stale TODOs. 2024-02-05 15:49:57 +00:00
array_creator.h
array_pad_number_provider.cpp
array_pad_number_provider.h
board.cpp Performance: Cache BOARD::GetMaxClearanceValue 2024-03-15 13:34:19 +00:00
board.h Performance: Cache BOARD::GetMaxClearanceValue 2024-03-15 13:34:19 +00:00
board_commit.cpp Store group id rather than group 2024-02-28 13:27:08 -08:00
board_commit.h More active tracking of undo/redo items. 2024-01-27 20:02:40 +00:00
board_connected_item.cpp Use Title Case for property names 2023-11-29 01:23:35 +00:00
board_connected_item.h ADDED: Connectivity for graphic shapes on copper layers 2023-08-10 21:47:43 -04:00
board_design_settings.cpp Make sure users don't run into min text size. 2024-03-29 17:45:13 +00:00
board_item.cpp Parent property should not be accessible from the UI 2024-01-23 20:41:34 -05:00
board_item_container.h Improve clarity of default zone settings. 2024-02-03 13:22:16 +00:00
build_BOM_from_board.cpp Kick the wildcards and file exts into a static class, export it from kicommon 2023-12-27 21:10:01 -05:00
cleanup_item.cpp
cleanup_item.h
collectors.cpp Don't do a sided-test on a footprint which has no side. 2024-02-04 15:18:23 +00:00
collectors.h Improve/fix Expand connection for graphics. 2023-12-04 09:52:31 +03:00
convert_shape_list_to_polygon.cpp performance efficiencies 2023-12-18 18:45:02 +00:00
convert_shape_list_to_polygon.h Coding policy, Doxygen comment, and spelling fixes. 2023-10-12 12:27:30 -04:00
cross-probing.cpp ADDED: Project chooser dialog for EasyEDA Pro import. 2023-10-30 09:35:27 +03:00
edit.cpp Fix a few Coverity warnings. 2023-11-25 11:44:01 +01:00
edit_track_width.cpp Hook up via size & drill constraints to editors. 2023-10-21 19:10:38 +01:00
edit_zone_helpers.cpp Remove Export Settings to Other Similar Zones. 2024-02-03 13:22:16 +00:00
files.cpp Fix string so it gets translated properly. 2024-04-15 06:18:20 -04:00
fix_board_shape.cpp Fix some warnings. 2023-10-31 04:25:19 +03:00
fix_board_shape.h Add a routine for joining PCB shapes. 2023-09-04 06:46:24 +03:00
footprint.cpp Protect courtyard cache regen 2024-04-18 08:41:43 -07:00
footprint.h Protect courtyard cache regen 2024-04-18 08:41:43 -07:00
footprint_chooser_frame.cpp Pass symbol's netlist to footprint preview widget. 2024-03-14 18:04:52 +00:00
footprint_chooser_frame.h Add option to Footprint Chooser to switch between the selected fp or its 3D view 2024-02-28 14:42:17 +01:00
footprint_edit_frame.cpp Don't capture references to local variables for CallAfter. 2024-02-22 23:36:27 +00:00
footprint_edit_frame.h Push library management into IO_BASE 2023-12-27 01:21:53 +00:00
footprint_editor_settings.cpp Make sure users don't run into min text size. 2024-03-29 17:45:13 +00:00
footprint_editor_utils.cpp Clearer naming. 2023-11-17 18:36:33 +00:00
footprint_info_impl.cpp Shove thread_pool to core 2023-09-06 17:50:12 -04:00
footprint_info_impl.h send multivector.h and sync_queue.h to core 2023-09-08 07:14:34 -04:00
footprint_libraries_utils.cpp Update a few strings based on new string freeze policy. 2024-02-05 15:49:57 +00:00
footprint_preview_panel.cpp Pass symbol's netlist to footprint preview widget. 2024-03-14 18:04:52 +00:00
footprint_preview_panel.h Pass symbol's netlist to footprint preview widget. 2024-03-14 18:04:52 +00:00
footprint_tree_pane.cpp Cleanup. 2023-09-29 00:13:13 +01:00
footprint_tree_pane.h Footprint Editor: Focus search field when window is first opened 2022-12-20 19:54:02 +00:00
footprint_viewer_frame.cpp NETINFO_ITEMs are owned by BOARD. 2023-10-04 21:01:33 +01:00
footprint_viewer_frame.h Cleanup. 2023-09-29 00:13:12 +01:00
footprint_wizard.cpp
footprint_wizard.h
footprint_wizard_frame.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
footprint_wizard_frame.h Cleanup. 2023-09-29 00:13:12 +01:00
footprint_wizard_frame_functions.cpp Rename function in Footprint wizard to prevent impoper override 2023-06-12 23:14:56 +01:00
fp_text_grid_table.cpp PCB Fields: operate on field copies in dialogs 2023-12-11 09:37:23 -05:00
fp_text_grid_table.h PCB Fields: operate on field copies in dialogs 2023-12-11 09:37:23 -05:00
fp_tree_model_adapter.cpp Capture exceptions thrown by FP_LIB_TABLE::FindRow() in some places. 2023-08-20 12:27:37 +02:00
fp_tree_model_adapter.h
fp_tree_synchronizing_adapter.cpp Apply new on-canvas-item marking to footprint editor tree. 2023-11-20 19:46:03 +00:00
fp_tree_synchronizing_adapter.h Clearer naming. 2023-11-09 14:05:35 +00:00
fpedit.icns macOS: add a few more known file types 2023-11-16 12:11:42 -05:00
fpedit_doc.icns Add document type icons 2024-02-09 15:55:57 -08:00
generate_footprint_info.cpp Improve editing values with {return} in text fields; Add hyperlink detection. 2023-10-15 01:45:39 +03:00
generate_footprint_info.h
generators_mgr.cpp Introduce GENERATORS_MGR. 2023-10-08 02:41:17 +00:00
generators_mgr.h Introduce GENERATORS_MGR. 2023-10-08 02:41:17 +00:00
graphics_cleaner.cpp Fix minor compil and Coverity warnings (not initialized vars) 2023-10-23 20:13:46 +02:00
graphics_cleaner.h ADDED: Heal Shapes; Fix discontinuities in gfx import and Cleanup dialog. 2023-10-17 10:29:43 +03:00
grid_layer_box_helpers.cpp Replace __WXGTK20__ with __WXGTK__ 2023-04-12 18:57:12 +01:00
grid_layer_box_helpers.h
initpcb.cpp BoardDesignSettings are owned by FOOTPRINT_EDITOR_SETTINGS in the FP Editor. 2023-06-12 10:08:41 +01:00
invoke_pcb_dialog.h Refactor: Move DIALOG_PLUGIN_OPTIONS to common and use enum for event ID 2023-05-28 23:56:41 +02:00
kicad_clipboard.cpp Comments. 2024-02-22 23:37:05 +00:00
kicad_clipboard.h Push PCB_IOs to use the base progress reporter instead of per-function 2023-12-27 17:06:23 +00:00
load_select_footprint.cpp Introduce base IO_MGR class and unify RELEASER objects 2023-12-29 00:37:38 +00:00
menubar_footprint_editor.cpp Expose grid origin action in more places 2024-02-27 23:52:17 +00:00
menubar_pcb_editor.cpp Expose grid origin action in more places 2024-02-27 23:52:17 +00:00
netinfo.h Fix visibility of NET_INFO::SetParent 2023-12-11 10:07:28 +00:00
netinfo_item.cpp Set default netclass for newly-added no-net PNS items 2023-12-10 22:59:36 -05:00
netinfo_list.cpp NETINFO_ITEMs are owned by BOARD. 2023-10-04 21:01:33 +01:00
pad.cpp Zero out number of non-numberable pads in ImportSettingsFrom(). 2024-01-26 14:05:04 +00:00
pad.h Add proper comparison operators for BOARD_DESIGN_SETTINGS and children 2024-01-01 13:37:31 -05:00
pad_custom_shape_functions.cpp Cleanup. 2023-11-25 13:12:45 +00:00
pcb_base_edit_frame.cpp Kick the wildcards and file exts into a static class, export it from kicommon 2023-12-27 21:10:01 -05:00
pcb_base_edit_frame.h Functionally it's a "reference image". 2023-10-24 15:44:21 +01:00
pcb_base_frame.cpp Improve clarity of default zone settings. 2024-02-03 13:22:16 +00:00
pcb_dimension.cpp Update copyrights. 2023-11-11 15:29:34 +00:00
pcb_dimension.h ADDED: Git integration support 2023-10-20 12:51:47 +00:00
pcb_draw_panel_gal.cpp Implement stingy selection mode for tuning patterns. 2024-01-17 00:34:22 +00:00
pcb_draw_panel_gal.h Formatting and warnings cleanup. (No functional changes.) 2023-04-16 15:36:21 +01:00
pcb_edit_frame.cpp PCB: update footprint field when changing footprints 2024-04-02 08:18:23 -04:00
pcb_edit_frame.h Fix Eagle board import when footprint library versions exist. 2024-03-15 07:59:20 -04:00
pcb_field.cpp Fix errors resulting from FP fields being moved from m_drawings to m_fields. 2024-01-28 11:13:48 +00:00
pcb_field.h Repair copy/paste of footprint fields. 2024-02-22 23:37:02 +00:00
pcb_generator.cpp Implement copy/paste for generators. 2024-01-16 23:38:50 +00:00
pcb_generator.h Implement copy/paste for generators. 2024-01-16 23:38:50 +00:00
pcb_group.cpp Expose groups to property manager. 2024-03-29 17:44:14 +00:00
pcb_group.h Make sure group items get added to commit. 2024-01-22 23:34:34 +00:00
pcb_item_containers.h Introduce PCB_GENERATOR. 2023-10-08 02:41:17 +00:00
pcb_layer_box_selector.cpp Use Fit to size the layer box after sitting min size 2024-02-02 23:43:05 -05:00
pcb_layer_box_selector.h
pcb_marker.cpp Second part of d854de9d68 2024-01-20 18:41:35 +00:00
pcb_marker.h ADDED: Git integration support 2023-10-20 12:51:47 +00:00
pcb_origin_transforms.cpp Separate out axes definitions between ModEdit and PCBNew. 2023-10-25 15:01:36 +01:00
pcb_origin_transforms.h
pcb_painter.cpp Pass symbol's netlist to footprint preview widget. 2024-03-14 18:04:52 +00:00
pcb_painter.h Functionally it's a "reference image". 2023-10-24 15:44:21 +01:00
pcb_plot_params.cpp Initial rename of file plugin infrastructure components to IO 2023-12-24 01:22:21 +00:00
pcb_plot_params.h ADDED: plot control over FP text. 2023-08-15 16:56:46 +01:00
pcb_plot_params_parser.h
pcb_reference_image.cpp Functionally it's a "reference image". 2023-10-24 15:44:21 +01:00
pcb_reference_image.h Functionally it's a "reference image". 2023-10-24 15:44:21 +01:00
pcb_screen.cpp Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
pcb_shape.cpp Hide some irrelevant properties from DRC rule editor 2023-11-26 00:29:16 +00:00
pcb_shape.h Normalize rects higher up. 2023-10-29 11:45:16 +00:00
pcb_target.cpp Fix sch_field and pcb_target not returning evaluated similarity correctly 2024-01-16 15:43:49 -05:00
pcb_target.h ADDED: Git integration support 2023-10-20 12:51:47 +00:00
pcb_text.cpp Do not set optional defaults 2024-04-11 09:43:55 -07:00
pcb_text.h Don't run keepUpright when not rotating. 2023-12-22 21:22:36 +00:00
pcb_textbox.cpp Hide the color prop from pcb editor 2024-02-05 01:13:16 -05:00
pcb_textbox.h ADDED: Git integration support 2023-10-20 12:51:47 +00:00
pcb_track.cpp Fix rendering/plotting of arcs with tiny angle and huge radius. 2024-03-15 01:17:50 +03:00
pcb_track.h Create dummyPattern at centre of pickerItem, not end. 2023-12-20 15:27:29 +00:00
pcb_view.cpp Move a couple of stragglers to BOARD_COMMIT. 2023-12-17 21:01:31 +00:00
pcb_view.h
pcbexpr_evaluator.cpp Further improvements to cache locking. 2024-03-07 13:02:16 +00:00
pcbexpr_evaluator.h More consistent naming. 2023-08-21 15:26:33 +01:00
pcbexpr_functions.cpp Further improvements to cache locking. 2024-03-07 13:02:16 +00:00
pcbnew.cpp Fix crash if we exit lib table setup 2024-02-11 21:05:23 -05:00
pcbnew.icns Add document type icons 2024-02-09 15:55:57 -08:00
pcbnew_config.cpp Make DRC exclusions work in cli & python DRC 2024-01-10 19:55:44 -05:00
pcbnew_config.h Remove obsolete config_params.h includes 2023-09-25 20:40:29 -04:00
pcbnew_doc.icns Add document type icons 2024-02-09 15:55:57 -08:00
pcbnew_id.h Make pad & via teardrops 1st-class citizens (props of the pad/via) 2023-05-19 18:02:03 +01:00
pcbnew_jobs_handler.cpp Add missing text var override to cli gerbers 2024-03-19 14:35:30 +00:00
pcbnew_jobs_handler.h Schematic parity checking for CLI DRC. 2024-02-02 23:05:37 +00:00
pcbnew_printout.cpp Save state of as-item-checkboxes checkbox. 2023-11-05 16:22:20 +00:00
pcbnew_printout.h Commenting and formatting. No functional changes. 2023-03-13 18:29:55 +00:00
pcbnew_settings.cpp Remove the invalid default dock directions for search panel 2024-01-17 22:26:04 -05:00
pcbnew_settings.h Save Net Inspector col order, widths, sorting, etc. 2023-12-24 13:11:16 +00:00
pcbplot.cpp Add settings for plotting PDF property popups. 2023-04-30 18:10:04 +01:00
pcbplot.h Lazy context handling for SVG plotting. 2023-08-07 14:01:58 +01:00
plot_board_layers.cpp Plot pads: Do not use pad offset twice when plotting chamfered rect pads 2024-04-18 14:03:11 +02:00
plot_brditems_plotter.cpp Cleanup. 2023-11-25 13:12:45 +00:00
plotcontroller.h Allow plotting of multiple board layers per plot in Python. 2023-02-14 09:49:20 -05:00
plotprint_opts.h
project_pcb.cpp On second thought rename PROJECT_PCBNEW to PROJECT_PCB 2023-09-27 23:15:54 -04:00
project_pcb.h On second thought rename PROJECT_PCBNEW to PROJECT_PCB 2023-09-27 23:15:54 -04:00
sel_layer.cpp Add hot key column on layer select dialog 2023-10-04 12:17:15 -04:00
toolbars_footprint_editor.cpp Functionally it's a "reference image". 2023-10-24 15:44:21 +01:00
toolbars_footprint_viewer.cpp Rollback wxChoice -> wxComboBox changes for now. 2023-04-09 23:00:33 +01:00
toolbars_pcb_editor.cpp Make Edit Track & Via Sizes "specified sizes" dropdowns clearer. 2024-03-14 18:06:41 +00:00
tracks_cleaner.cpp Fix nullptr group assert in tracks cleaner. 2024-02-10 00:44:05 +03:00
tracks_cleaner.h
undo_redo.cpp Fix footprint undo for new UUID caches. 2024-03-29 17:48:12 +00:00
zone.cpp Further improvements to cache locking. 2024-03-07 13:02:16 +00:00
zone.h Fill in missing zone properties. 2024-02-04 23:01:31 +00:00
zone_filler.cpp Run Edge.Cuts & Margin clearance tests on zone layer. 2024-03-14 18:04:06 +00:00
zone_filler.h
zone_settings.cpp Add proper comparison operators for BOARD_DESIGN_SETTINGS and children 2024-01-01 13:37:31 -05:00
zone_settings.h Add proper comparison operators for BOARD_DESIGN_SETTINGS and children 2024-01-01 13:37:31 -05:00
zones.h Remove Export Settings to Other Similar Zones. 2024-02-03 13:22:16 +00:00