kicad/pcbnew
Seth Hillbrand f56fcb0a14 Better handling of vertex sorting
Nominally, the zcode of a vertex is unique.  This is not 100% true,
however, as we must interlace two 32-bit numbers into a single 32-bit
number.  Sorting needs to account for the possibility that the zcode
will be the same while other elements of the vertex are different.  This
commit fixes the broken boolean logic to more clearly handle these cases

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

(cherry picked from commit e7fe69b97f)
2023-02-13 11:23:14 -08:00
..
autorouter Fail-safety in spreadRectangles. 2023-02-11 16:42:27 +03:00
board_stackup_manager PANEL_BOARD_STACKUP: Ensure UI is re-linked to storage when importing 2023-02-10 12:58:04 -05:00
connectivity Use the common subset of nets for local update 2023-02-10 12:50:29 -08:00
dialogs Account for border when calculating text margin for text boxes. 2023-02-13 17:07:42 +00:00
drc Better handling of vertex sorting 2023-02-13 11:23:14 -08:00
exporters Convert additional sprintf to snprintf 2023-01-30 16:22:03 +00:00
import_gfx pcbnew: Fix strokeWidth truncation to integer mm in SVG polygons import 2023-01-31 20:34:25 +00:00
microwave Fix static event table derived object definitions. 2023-01-28 14:10:06 -05:00
navlib Add support for using a SpaceMouse to pan & zoom in the schematic editor. 2022-03-31 19:03:41 +00:00
netlist_reader Don't link DNP with Exclude from Pos files 2023-01-25 13:54:12 -08:00
plugins Zones: use metric defaults and limits instead of mixed units 2023-02-11 07:39:29 -05:00
python Expose new netclass storage to SWIG 2023-02-11 09:50:24 -05:00
ratsnest Reduce static ratsnest opacity when moving items; tweak colors. 2022-12-07 21:01:56 +03:00
router router: Fix clamp in meander corner radius calculation. 2023-02-05 07:22:38 +03:00
specctra_import_export More safety around ratsnest state. 2022-11-30 13:00:21 +00:00
teardrop TEARDROP_MANAGER: fix a corner case that generate a invalid teardrop polygon. 2022-11-26 14:37:20 +01:00
tools Don't discard temporary item being placed if placement is rejected 2023-02-11 08:40:33 -05:00
widgets Better synchronization of various ratsnest visibility controls. 2023-01-27 10:01:12 +03:00
CMakeLists.txt pcbnew: move DIALOG_PAD_PROPERTIES_BASE from dialog_pad_properties to its own files. 2023-01-17 09:44:28 +01:00
Doxyfile_python
Doxyfile_xml
action_plugin.cpp More wxString wide literals. 2022-02-05 21:29:34 +00:00
action_plugin.h
array_creator.cpp array_creator: Transform item before adding, modify only the first one. 2022-11-19 04:07:35 +05:00
array_creator.h
array_pad_number_provider.cpp
array_pad_number_provider.h Fix typos in pcbnew sub-directory 2022-06-30 09:39:45 -04:00
board.cpp Remove DRC exclusions that no longer have items. 2023-02-13 10:55:07 +00:00
board.h Handle cleanup safely 2023-01-23 15:56:46 -08:00
board_commit.cpp Propagate nets within non-conflicting clusters immediately. 2023-01-23 16:25:29 +00:00
board_commit.h Propagate nets within non-conflicting clusters immediately. 2023-01-23 16:25:29 +00:00
board_connected_item.cpp 15% rendering optimization in PCB_TRACK::ViewGetLOD. 2023-01-27 18:37:43 +03:00
board_connected_item.h 15% rendering optimization in PCB_TRACK::ViewGetLOD. 2023-01-27 18:37:43 +03:00
board_design_settings.cpp Zones: use metric defaults and limits instead of mixed units 2023-02-11 07:39:29 -05:00
board_item.cpp AllCuMask() and AllTechMask() are static, they do NOT modify "this". 2023-02-03 15:08:31 +00:00
board_item_container.h Fix typos in pcbnew sub-directory 2022-06-30 09:39:45 -04:00
build_BOM_from_board.cpp Schematic: Add CSV export to Symbol Fields Table 2022-05-09 12:02:12 -04:00
cleanup_item.cpp Add pad-recombining to FPEditor's Cleanup Graphics. 2022-09-24 19:34:06 +01:00
cleanup_item.h Add pad-recombining to FPEditor's Cleanup Graphics. 2022-09-24 19:34:06 +01:00
collectors.cpp Attempt to fix std::initializer_list lifetime issue. 2022-08-21 20:54:41 +01:00
collectors.h Attempt to fix std::initializer_list lifetime issue. 2022-08-21 20:54:41 +01:00
convert_shape_list_to_polygon.cpp Don't report errors in first pass of board outline generation. 2022-12-30 22:32:08 +00:00
convert_shape_list_to_polygon.h Refactor poly outline generator to handle multiple outlines. 2022-10-14 20:32:04 +01:00
cross-probing.cpp PCB/SCH/3D: Implement 3D cross-probing from schematic 2023-01-19 10:39:47 -05:00
edit.cpp PCB Editor: Add User Background Images 2022-07-14 11:23:23 +00:00
edit_track_width.cpp PCB Editor: prevent scroll wheel on track size opening board settings 2023-01-20 12:13:16 -05:00
edit_zone_helpers.cpp More safety around ratsnest state. 2022-11-30 13:00:21 +00:00
files.cpp Convert additional sprintf to snprintf 2023-01-30 16:22:03 +00:00
footprint.cpp FOOTPRINT::Flip(): add missing PCB_BITMAP_T. 2023-02-05 18:41:58 +01:00
footprint.h Allow commas, spaces in pad names for net-ties 2023-01-18 14:45:52 -08:00
footprint_edit_frame.cpp Fp editor and Fp viewer: fix missing info on msg panel after loading a fp 2023-01-25 17:47:04 +01:00
footprint_edit_frame.h Fp editor and Fp viewer: fix missing info on msg panel after loading a fp 2023-01-25 17:47:04 +01:00
footprint_editor_settings.cpp PCB Editor: Locked filter unchecked by default 2023-01-23 11:36:06 +00:00
footprint_editor_utils.cpp Fix Coverity warnings. 2022-10-26 14:39:44 -04:00
footprint_info_impl.cpp Catch IO_ERROR thrown in timestamp gen 2022-11-29 14:09:22 -08:00
footprint_info_impl.h ADDED: Threadpool 2022-06-24 22:59:24 +00:00
footprint_libraries_utils.cpp FP editor: fix crash when trying to save a footprint after removing its library 2023-01-21 18:18:38 +01:00
footprint_preview_panel.cpp Units for footprint preview widgets. 2023-01-02 22:12:26 +00:00
footprint_preview_panel.h Units for footprint preview widgets. 2023-01-02 22:12:26 +00:00
footprint_tree_pane.cpp Footprint Editor: Focus search field when window is first opened 2022-12-20 19:54:02 +00: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 Fix static event table derived object definitions. 2023-01-28 14:10:06 -05:00
footprint_viewer_frame.h Fp editor and Fp viewer: fix missing info on msg panel after loading a fp 2023-01-25 17:47:04 +01:00
footprint_wizard.cpp
footprint_wizard.h More wxString wide literals. 2022-02-05 21:29:34 +00:00
footprint_wizard_frame.cpp Fix static event table derived object definitions. 2023-01-28 14:10:06 -05:00
footprint_wizard_frame.h
footprint_wizard_frame_functions.cpp More wxString wide literals. 2022-02-05 21:29:34 +00:00
fp_shape.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
fp_shape.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
fp_text.cpp Pay attention to knockout text when adding to DRC Rtrees. 2023-01-25 18:34:03 +00:00
fp_text.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
fp_text_grid_table.cpp Add unit and eval support to WX_GRIDs. 2022-10-11 23:40:58 +01:00
fp_text_grid_table.h Add unit and eval support to WX_GRIDs. 2022-10-11 23:40:58 +01:00
fp_textbox.cpp Account for border when calculating text margin for text boxes. 2023-02-13 17:07:42 +00:00
fp_textbox.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
fp_tree_model_adapter.cpp Add pin/unpin context menu to Symbol Chooser and Footprint Chooser. 2022-09-21 14:45:12 +01:00
fp_tree_model_adapter.h Add pin/unpin context menu to Symbol Chooser and Footprint Chooser. 2022-09-21 14:45:12 +01:00
fp_tree_synchronizing_adapter.cpp Display descriptions in second column of library trees. 2022-07-28 14:51:47 +01:00
fp_tree_synchronizing_adapter.h
generate_footprint_info.cpp Handle updated document description format 2022-04-15 11:17:01 -07:00
generate_footprint_info.h
graphics_cleaner.cpp GRAPHICS_CLEANER: fix bad detection of short Bezier curves that can be cleaned 2022-12-10 18:19:09 +01:00
graphics_cleaner.h Add pad-recombining to FPEditor's Cleanup Graphics. 2022-09-24 19:34:06 +01:00
grid_layer_box_helpers.cpp
grid_layer_box_helpers.h
initpcb.cpp Re-resolve netclasses after assigning netclass to pattern. 2022-11-22 14:54:08 +00:00
invoke_pcb_dialog.h
io_mgr.cpp Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
io_mgr.h Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
kicad_clipboard.cpp Don't leave temp footprints attached to a board. 2023-01-18 00:46:59 +00:00
kicad_clipboard.h Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
load_select_footprint.cpp Move saving preferences out of the destructor. 2022-11-14 20:01:37 +00:00
menubar_footprint_editor.cpp Never call ReCreateMenuBar inside a menu event handler 2022-12-16 16:37:51 -05:00
menubar_pcb_editor.cpp Small order change for three View menu items 2023-01-22 01:04:17 +00:00
netinfo.h 15% rendering optimization in PCB_TRACK::ViewGetLOD. 2023-01-27 18:37:43 +03:00
netinfo_item.cpp Fix netnames. 2023-01-27 19:35:41 +03:00
netinfo_list.cpp Re-resolve netclasses after assigning netclass to pattern. 2022-11-22 14:54:08 +00:00
pad.cpp Don't write outside of overrides array on pad zone_layer_connections. 2023-02-08 01:32:52 +03:00
pad.h Don't write outside of overrides array on pad zone_layer_connections. 2023-02-08 01:32:52 +03:00
pad_custom_shape_functions.cpp Name shortening and line-break reduction. 2022-10-21 18:41:39 +01:00
pcb_base_edit_frame.cpp Move updateUnits functionality to where it can be shared. 2023-01-02 22:12:26 +00:00
pcb_base_edit_frame.h Tighten lifecycle management of parent group pointers. 2022-11-11 17:27:28 +00:00
pcb_base_frame.cpp Nullptr safety. 2023-01-18 01:30:40 +00:00
pcb_bitmap.cpp Handle all member vars if not doing a std::swap on "this". 2023-01-22 13:00:18 +00:00
pcb_bitmap.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_dimension.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_dimension.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_draw_panel_gal.cpp Locked shadows should not be on overlay 2023-01-27 22:09:42 -05:00
pcb_draw_panel_gal.h
pcb_edit_frame.cpp Remove DRC exclusions that no longer have items. 2023-02-13 10:55:07 +00:00
pcb_edit_frame.h Correctly refresh the board after action plugin run and maintain 2023-01-05 14:05:15 -08:00
pcb_expr_evaluator.cpp Add support for unitless values to PCB_EXPR_EVALUATOR. 2022-11-29 14:24:20 +00:00
pcb_expr_evaluator.h Add support for unitless values to PCB_EXPR_EVALUATOR. 2022-11-29 14:24:20 +00:00
pcb_expr_functions.cpp Check for collisions on common layers. 2023-01-08 20:53:15 +00:00
pcb_group.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_item_containers.h
pcb_layer_box_selector.cpp
pcb_layer_box_selector.h
pcb_marker.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_marker.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_origin_transforms.cpp Remove bad static_cast. 2022-07-24 23:41:41 +01:00
pcb_origin_transforms.h
pcb_painter.cpp Limit the number of potential netnames 2023-02-04 11:17:09 +01:00
pcb_painter.h Dim other pads when in pad edit mode. 2023-01-06 11:13:57 +00:00
pcb_plot_params.cpp Avoid duplicating similar options in print and plot headers 2022-11-12 16:02:24 +01:00
pcb_plot_params.h Avoid duplicating similar options in print and plot headers 2022-11-12 16:02:24 +01:00
pcb_plot_params_parser.h Pcbnew: add plot on all layers feature. 2022-04-02 14:33:40 -04:00
pcb_plot_svg.cpp Fix compile warning 2023-01-25 13:53:13 -08:00
pcb_plot_svg.h Hotglue footprint to svg export 2022-12-13 22:50:15 -05:00
pcb_screen.cpp
pcb_shape.cpp Handle all member vars if not doing a std::swap on "this". 2023-01-22 13:00:18 +00:00
pcb_shape.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_target.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_target.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_text.cpp Pay attention to knockout text when adding to DRC Rtrees. 2023-01-25 18:34:03 +00:00
pcb_text.h Pay attention to knockout text when adding to DRC Rtrees. 2023-01-25 18:34:03 +00:00
pcb_textbox.cpp Account for border when calculating text margin for text boxes. 2023-02-13 17:07:42 +00:00
pcb_textbox.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_track.cpp Don't write outside of overrides array on pad zone_layer_connections. 2023-02-08 01:32:52 +03:00
pcb_track.h Don't write outside of overrides array on pad zone_layer_connections. 2023-02-08 01:32:52 +03:00
pcb_view.cpp
pcb_view.h
pcbnew.cpp Avoid crashing due to empty lib tables in cli 2022-12-07 23:56:03 -05:00
pcbnew.h Remove convert_to_biu.h, merge contents to base_units.h 2022-09-16 21:09:28 -04:00
pcbnew.icns
pcbnew_config.cpp Store netclass visibility separately from nets 2022-10-01 19:54:13 -04:00
pcbnew_config.h
pcbnew_doc.icns
pcbnew_id.h Footprint viewers: fix regression: re-add automatic zoom option when loading a new footprint 2022-04-18 11:15:14 +02:00
pcbnew_jobs_handler.cpp kicad-cli, pcbnew pàlot: honor the color options when ploting pdf files 2023-02-07 20:20:45 +01:00
pcbnew_jobs_handler.h Hotglue footprint to svg export 2022-12-13 22:50:15 -05:00
pcbnew_printout.cpp Print hole walls if in colour (and printing real drill sizes). 2022-11-13 13:18:42 +00:00
pcbnew_printout.h PCBNEW_PRINTOUT: fix incorrect size of holes printed with the "small drill" option 2022-11-12 16:02:24 +01:00
pcbnew_settings.cpp Pcbnew: Make "Substitute similarly named models" on by default in STEP export. 2023-01-27 23:32:23 +00:00
pcbnew_settings.h Properties: save and restore splitter position 2022-12-07 21:38:33 -05:00
pcbplot.cpp Simplify and regularize text variable substitution architecture. 2023-01-17 17:05:41 +00:00
pcbplot.h Property popups for symbols, labels, sheets, and footprints in PDF. 2022-09-06 13:59:52 +01:00
plot_board_layers.cpp Avoid duplicating similar options in print and plot headers 2022-11-12 16:02:24 +01:00
plot_brditems_plotter.cpp plot_brditems_plotter: fix crash (null poiner use) when run from kicad-cli, 2023-01-23 11:50:27 +01:00
plotcontroller.h ${SHEETNAME} represents the sheet name + introduce ${SHEETPATH} 2022-04-09 15:45:58 +01:00
plotprint_opts.h Avoid duplicating similar options in print and plot headers 2022-11-12 16:02:24 +01:00
plugin.cpp Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
sel_layer.cpp More wxString wide literals. 2022-02-05 21:29:34 +00:00
toolbars_footprint_editor.cpp Expose changing arc edit mode in arc button context menu and Preferences 2022-12-05 21:28:16 +03:00
toolbars_footprint_viewer.cpp Never call ReCreateMenuBar inside a menu event handler 2022-12-16 16:37:51 -05:00
toolbars_pcb_editor.cpp Properties: enable in PCB editor for everyone 2022-12-08 17:38:36 -05:00
tracks_cleaner.cpp Handle cleanup safely 2023-01-23 15:56:46 -08:00
tracks_cleaner.h Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias. 2022-03-18 11:04:53 +00:00
undo_redo.cpp Clear caches before undo operation. 2022-12-02 10:59:48 +00:00
zone.cpp Zones: use metric defaults and limits instead of mixed units 2023-02-11 07:39:29 -05:00
zone.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
zone_filler.cpp Allow same-net, same-priority zone filling 2023-02-10 11:07:08 -08:00
zone_filler.h Fix an edge-case in the spoke genration logic for non-cardinal spokes. 2022-10-01 19:31:47 +01:00
zone_settings.cpp Zones: use metric defaults and limits instead of mixed units 2023-02-11 07:39:29 -05:00
zone_settings.h Set new zone priority to unique number 2022-08-24 16:37:57 -07:00
zones.h Zones: use metric defaults and limits instead of mixed units 2023-02-11 07:39:29 -05:00
zones_functions_for_undo_redo.cpp More tightening of group parent lifecycles. 2022-11-16 00:42:38 +00:00
zones_functions_for_undo_redo.h Formatting and a bit of cleanup. 2022-10-21 18:41:39 +01:00