Try harder to remove stale pins from connectivity

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16846
This commit is contained in:
Jon Evans
2024-02-10 23:26:37 -05:00
parent 24cf0c0c62
commit 4eba781013
3 changed files with 40 additions and 0 deletions
+9
View File
@@ -33,6 +33,7 @@
#include <view/view.h>
#include <sch_commit.h>
#include <connection_graph.h>
#include <functional>
@@ -533,6 +534,14 @@ void SCH_COMMIT::Revert()
{
SCH_SYMBOL* symbol = static_cast<SCH_SYMBOL*>( item );
symbol->UpdatePins();
CONNECTION_GRAPH* graph = schematic->ConnectionGraph();
SCH_SYMBOL* symbolCopy = static_cast<SCH_SYMBOL*>( copy );
graph->RemoveItem( symbolCopy );
for( SCH_PIN* pin : symbolCopy->GetPins() )
graph->RemoveItem( pin );
}
item->SetConnectivityDirty();