From 2208e0db1618fad20b9c9b565c7409d0aab282a9 Mon Sep 17 00:00:00 2001 From: Seth Hillbrand Date: Thu, 17 Mar 2022 10:09:02 -0700 Subject: [PATCH] Avoid marking symbols that will not be processed We want to shorting the processing time by marking symbols that have already been processed. But we must avoid marking symbols that will not be processed due to their other flags Fixes https://gitlab.com/kicad/code/kicad/issues/11164 --- eeschema/connection_graph.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eeschema/connection_graph.cpp b/eeschema/connection_graph.cpp index c7bf8330c7..9b145b9045 100644 --- a/eeschema/connection_graph.cpp +++ b/eeschema/connection_graph.cpp @@ -730,7 +730,8 @@ void CONNECTION_GRAPH::buildItemSubGraphs() SCH_CONNECTION* conn = aItem->GetOrInitConnection( sheet, this ); bool unique = !( aItem->GetFlags() & CANDIDATE ); - aItem->SetFlags( CANDIDATE ); + if( conn && !conn->SubgraphCode() ) + aItem->SetFlags( CANDIDATE ); return ( unique && conn && ( conn->SubgraphCode() == 0 ) ); };