kicad/eeschema
Wayne Stambaugh 7a00e01b3e Eeschema: fix false positive library symbol changed ERC errors.
This fix required sorting all of the LIB_PART draw items to ensure
accurate comparison between the symbols stored in the schematic and the
original library symbols.  This has a noticeable impact on symbol library
load performance.  It may also cause significant changes the next time
the library is saved due to changes in the draw item sorting.  Hashing
may be a better solution here but this addressed the immediate problem.

A skeleton method SCH_SCREEN::SwapSymbolLinks() was added because there
is most likely an issue with orphaned symbols in the schematic library
symbol cache during undo/redo operations.  More testing is required to
verify this.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/7263
2021-03-04 17:59:24 -05:00
..
dialogs Eeschema: fix false positive library symbol changed ERC errors. 2021-03-04 17:59:24 -05:00
netlist_exporters SCH_COMPONENT::GetField() expects a vector index, not a field id. 2021-02-28 15:10:37 +00:00
plotters Worksheet -> (industry standard) Drawing Sheet. 2021-02-22 17:35:46 +00:00
plugins bom2grouped_csv.xsl: Fix sorting of grouped references 2020-06-23 15:48:59 +02:00
sch_plugins Eeschema: fix false positive library symbol changed ERC errors. 2021-03-04 17:59:24 -05:00
sim Eeschema,sim: extract plot colors to new class 2021-03-01 18:50:37 +00:00
symbol_editor Symbol editor: fix symbol renaming bug. 2021-03-02 19:19:08 -05:00
tools Eeschema: fix false positive library symbol changed ERC errors. 2021-03-04 17:59:24 -05:00
widgets Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
CMakeLists.txt Update singletop eeschema to append the new schematic extension 2021-03-03 01:13:59 +00:00
annotate.cpp Fold annotation error reporting into ERC. 2021-01-24 23:01:24 +00:00
autoplace_fields.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
bom_plugins.cpp BOM dialog: explain when we can't find scripts 2021-02-25 22:41:12 -05:00
bom_plugins.h BOM dialog: explain when we can't find scripts 2021-02-25 22:41:12 -05:00
bus-wire-junction.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
bus_alias.cpp Use kicad_algo directly rather than common.h 2020-10-24 08:53:11 -04:00
bus_alias.h Use wxArrayString instead of vector<wxString> in BUS_ALIAS 2019-11-29 21:11:44 -05:00
class_library.cpp Cleanup creation of all our smart pointers 2020-10-26 23:52:44 +00:00
class_library.h Unwrap eda_base_frame from base_screen 2020-10-13 21:52:57 -04:00
cmp_library.keywords
cmp_library_lexer.cpp
component_references_lister.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
connection_graph.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
connection_graph.h Don't create multiple markers for the same issue 2021-01-12 23:24:13 -05:00
cross-probing.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
default_values.h Hook up EE_GRID_HELPER to some more tools. 2020-12-03 15:16:34 +00:00
ee_collectors.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
ee_collectors.h Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
eeschema.cpp Don't hardcode the file extensions where possible 2021-03-03 01:13:59 +00:00
eeschema.icns Update icon resource sets 2020-12-22 15:16:33 -08:00
eeschema.rc Add win32 version manifest block 2021-03-04 00:34:48 -05:00
eeschema_config.cpp Round 2 of Worksheet -> Drawing Sheet. 2021-02-23 11:57:44 +00:00
eeschema_doc.icns Update icon resource sets 2020-12-22 15:16:33 -08:00
eeschema_id.h Symbol editor: remove duplicate legacy code path 2021-01-17 11:14:44 +00:00
eeschema_settings.cpp Eeschema: overhaul storage of BOM plugin settings 2021-02-24 22:45:42 -05:00
eeschema_settings.h Eeschema: overhaul storage of BOM plugin settings 2021-02-24 22:45:42 -05:00
erc.cpp Eeschema: fix false positive library symbol changed ERC errors. 2021-03-04 17:59:24 -05:00
erc.h Round 2 of Worksheet -> Drawing Sheet. 2021-02-23 11:57:44 +00:00
erc_item.cpp Fold annotation error reporting into ERC. 2021-01-24 23:01:24 +00:00
erc_item.h Fold annotation error reporting into ERC. 2021-01-24 23:01:24 +00:00
erc_settings.cpp Add a PT_NIC pin electrical type and a netlist token for SCH_NO_CONNECT. 2021-01-23 00:10:01 +00:00
erc_settings.h Fold annotation error reporting into ERC. 2021-01-24 23:01:24 +00:00
fields_grid_table.cpp Write changes back to grid after using file explorer. 2021-02-17 14:08:53 +00:00
fields_grid_table.h Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
files-io.cpp Round 2 of Worksheet -> Drawing Sheet. 2021-02-23 11:57:44 +00:00
general.h Move Eeschema globals to new SCHEMATIC object 2020-05-18 13:04:56 -04:00
generate_alias_info.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
generate_alias_info.h
getpart.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
hierarch.cpp Round 2 of Worksheet -> Drawing Sheet. 2021-02-23 11:57:44 +00:00
hierarch.h eeschema page numbers: match ordering in hierarchy navigator to sheet page number ordering 2020-11-30 16:49:33 +00:00
invoke_sch_dialog.h Move ERC dialog to EE_INSPECTION_TOOL and kill when resetting. 2020-11-03 20:27:44 +00:00
lib_arc.cpp Naming conventions and file order. 2021-01-26 23:17:30 +00:00
lib_arc.h Make RENDER_SETTINGS argument const 2021-01-12 20:51:31 +00:00
lib_bezier.cpp Naming conventions and file order. 2021-01-26 23:17:30 +00:00
lib_bezier.h Make RENDER_SETTINGS argument const 2021-01-12 20:51:31 +00:00
lib_circle.cpp Hittesting for background-body-filled shapes (and other fills). 2021-01-26 23:17:30 +00:00
lib_circle.h Make RENDER_SETTINGS argument const 2021-01-12 20:51:31 +00:00
lib_field.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
lib_field.h SCH_COMPONENT::GetField() expects a vector index, not a field id. 2021-02-28 15:10:37 +00:00
lib_item.cpp Eeschema: fix false positive library symbol changed ERC errors. 2021-03-04 17:59:24 -05:00
lib_item.h Naming conventions and file order. 2021-01-26 23:17:30 +00:00
lib_pin.cpp Cleanup redundant if statement 2021-01-31 15:31:57 -05:00
lib_pin.h Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
lib_polyline.cpp Naming conventions and file order. 2021-01-26 23:17:30 +00:00
lib_polyline.h Make RENDER_SETTINGS argument const 2021-01-12 20:51:31 +00:00
lib_rectangle.cpp Hittesting for background-body-filled shapes (and other fills). 2021-01-26 23:17:30 +00:00
lib_rectangle.h Make RENDER_SETTINGS argument const 2021-01-12 20:51:31 +00:00
lib_symbol.cpp Eeschema: fix false positive library symbol changed ERC errors. 2021-03-04 17:59:24 -05:00
lib_symbol.h Eeschema: fix false positive library symbol changed ERC errors. 2021-03-04 17:59:24 -05:00
lib_text.cpp Naming conventions and file order. 2021-01-26 23:17:30 +00:00
lib_text.h Handle y-axis inversion in Symbol Editor when drag-selecting text. 2021-02-03 15:28:11 +00:00
libarch.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
menubar.cpp Disable commands in SingleTop 2021-02-22 14:49:13 -08:00
pin_number.cpp More component -> symbol. 2020-11-15 20:23:15 +00:00
pin_number.h
pin_type.cpp Add a PT_NIC pin electrical type and a netlist token for SCH_NO_CONNECT. 2021-01-23 00:10:01 +00:00
pin_type.h Add a PT_NIC pin electrical type and a netlist token for SCH_NO_CONNECT. 2021-01-23 00:10:01 +00:00
project_rescue.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
project_rescue.h Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
sch_base_frame.cpp Use color theme backgrounds in page previews. 2020-12-23 23:18:38 +00:00
sch_base_frame.h Update naming. 2020-12-25 23:37:01 +00:00
sch_bitmap.cpp Use standard mirror icons & terminology. 2021-02-16 21:11:36 +00:00
sch_bitmap.h Use standard mirror icons & terminology. 2021-02-16 21:11:36 +00:00
sch_bus_entry.cpp Use standard mirror icons & terminology. 2021-02-16 21:11:36 +00:00
sch_bus_entry.h Use standard mirror icons & terminology. 2021-02-16 21:11:36 +00:00
sch_connection.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
sch_connection.h Eeschema: Allow auto-wiring / drawing from unconnected bus and graphic line endpoints 2021-02-19 17:15:27 +00:00
sch_draw_panel.cpp Worksheet -> (industry standard) Drawing Sheet. 2021-02-22 17:35:46 +00:00
sch_draw_panel.h Fix more broken Doxygen comment specifiers. 2021-01-26 12:17:52 -05:00
sch_edit_frame.cpp Round 2 of Worksheet -> Drawing Sheet. 2021-02-23 11:57:44 +00:00
sch_edit_frame.h Remove some dead code. A little bit of comment cleanup as well. 2021-02-15 14:13:43 +00:00
sch_field.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
sch_field.h SCH_COMPONENT::GetField() expects a vector index, not a field id. 2021-02-28 15:10:37 +00:00
sch_file_versions.h Fix copy/paste error. 2021-01-26 19:01:31 +00:00
sch_io_mgr.cpp Cleanup: Move KiCad files into plugins folder 2020-10-12 16:36:08 +00:00
sch_io_mgr.h CADSTAR Schematic Archive Importer: Load all Sheets and Hierarchical Blocks 2020-09-27 18:13:58 +01:00
sch_item.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
sch_item.h Eeschema: Allow auto-wiring / drawing from unconnected bus and graphic line endpoints 2021-02-19 17:15:27 +00:00
sch_junction.cpp Use standard mirror icons & terminology. 2021-02-16 21:11:36 +00:00
sch_junction.h Use standard mirror icons & terminology. 2021-02-16 21:11:36 +00:00
sch_line.cpp Eeschema: Allow auto-wiring / drawing from unconnected bus and graphic line endpoints 2021-02-19 17:15:27 +00:00
sch_line.h Eeschema: Allow auto-wiring / drawing from unconnected bus and graphic line endpoints 2021-02-19 17:15:27 +00:00
sch_marker.cpp Fix some typos and improve wording 2021-03-02 19:13:49 +01:00
sch_marker.h Use standard mirror icons & terminology. 2021-02-16 21:11:36 +00:00
sch_no_connect.cpp Use standard mirror icons & terminology. 2021-02-16 21:11:36 +00:00
sch_no_connect.h Use standard mirror icons & terminology. 2021-02-16 21:11:36 +00:00
sch_painter.cpp Tighten up schematic label bounding boxes 2021-02-24 17:15:35 -05:00
sch_painter.h Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
sch_pin.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
sch_pin.h Use standard mirror icons & terminology. 2021-02-16 21:11:36 +00:00
sch_plugin.cpp Mostly formatting cleanup but a few type-casting cleanups too. 2020-11-24 22:16:41 +00:00
sch_preview_panel.cpp Round 2 of Worksheet -> Drawing Sheet. 2021-02-23 11:57:44 +00:00
sch_preview_panel.h Fix more broken Doxygen comment specifiers. 2021-01-26 12:17:52 -05:00
sch_reference_list.h Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
sch_rtree.h Add more const specifiers 2021-01-12 20:51:31 +00:00
sch_screen.cpp Eeschema: fix false positive library symbol changed ERC errors. 2021-03-04 17:59:24 -05:00
sch_screen.h Eeschema: fix false positive library symbol changed ERC errors. 2021-03-04 17:59:24 -05:00
sch_sheet.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
sch_sheet.h Use standard mirror icons & terminology. 2021-02-16 21:11:36 +00:00
sch_sheet_path.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
sch_sheet_path.h Fix more broken Doxygen comment specifiers. 2021-01-26 12:17:52 -05:00
sch_sheet_pin.cpp Use standard mirror icons & terminology. 2021-02-16 21:11:36 +00:00
sch_symbol.cpp Eeschema: fix false positive library symbol changed ERC errors. 2021-03-04 17:59:24 -05:00
sch_symbol.h SCH_COMPONENT::GetField() expects a vector index, not a field id. 2021-02-28 15:10:37 +00:00
sch_text.cpp Show variable references of text in status bar. 2021-03-03 18:58:04 +00:00
sch_text.h Use standard mirror icons & terminology. 2021-02-16 21:11:36 +00:00
sch_text_help.md Use valid diff pair suffixes in label help example 2021-03-01 21:47:29 -05:00
sch_validators.cpp Prepare for MODULE -> FOOTPRINT. 2020-11-13 15:16:24 +00:00
sch_validators.h Prepare for MODULE -> FOOTPRINT. 2020-11-13 15:16:24 +00:00
sch_view.cpp Round 2 of Worksheet -> Drawing Sheet. 2021-02-23 11:57:44 +00:00
sch_view.h Round 2 of Worksheet -> Drawing Sheet. 2021-02-23 11:57:44 +00:00
schematic.cpp Fix some compiler and Coverity warnings 2020-12-17 00:30:22 +00:00
schematic.h eeschema: add interface to SCHEMATIC for better testability 2021-02-17 00:59:44 +00:00
schematic.keywords Add a PT_NIC pin electrical type and a netlist token for SCH_NO_CONNECT. 2021-01-23 00:10:01 +00:00
schematic_settings.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
schematic_settings.h Re-write IntersheetRefs on top of SCH_FIELDs and textVars. 2020-11-17 16:05:49 +00:00
schematic_undo_redo.cpp Eeschema: fix false positive library symbol changed ERC errors. 2021-03-04 17:59:24 -05:00
sheet.cpp Don't log error messages when using the clipboard 2021-02-03 01:55:05 +00:00
symbol_lib_table.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
symbol_lib_table.h File naming and include cleanup. 2021-01-28 11:35:18 +00:00
symbol_tree_model_adapter.cpp Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
symbol_tree_model_adapter.h Formatting and naming conventions. 2020-11-07 18:50:30 +00:00
symbol_tree_synchronizing_adapter.cpp Remove and re-add saved-as libraries when Syncing tree. 2021-01-31 23:00:17 +00:00
symbol_tree_synchronizing_adapter.h Remove and re-add saved-as libraries when Syncing tree. 2021-01-31 23:00:17 +00:00
symbol_viewer_frame.cpp Translation cleanup. 2021-02-21 23:13:13 +00:00
symbol_viewer_frame.h Update naming. 2020-12-25 23:37:01 +00:00
toolbars_sch_editor.cpp Use standard mirror icons & terminology. 2021-02-16 21:11:36 +00:00
toolbars_symbol_viewer.cpp Update naming. 2020-12-25 23:37:01 +00:00
transform.cpp Refactor all math into a new kimath library 2020-01-07 17:12:59 +00:00
transform.h Comment-only changes 2020-01-10 16:43:01 -08:00