From b99c71744fc0e3c7a6a86e5d1e4a107ac5b8e976 Mon Sep 17 00:00:00 2001 From: Jon Evans Date: Sat, 27 Jul 2019 10:51:38 -0400 Subject: [PATCH] Properly handle nested bus absorption --- eeschema/connection_graph.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eeschema/connection_graph.cpp b/eeschema/connection_graph.cpp index 8ad0755711..5325d8fd73 100644 --- a/eeschema/connection_graph.cpp +++ b/eeschema/connection_graph.cpp @@ -1346,7 +1346,7 @@ void CONNECTION_GRAPH::buildConnectionGraph() for( CONNECTION_SUBGRAPH* parent : it.second ) { - if( parent->m_absorbed ) + while( parent->m_absorbed ) parent = parent->m_absorbed_by; SCH_CONNECTION* match = matchBusMember( parent->m_driver_connection, link_member ); @@ -1372,7 +1372,7 @@ void CONNECTION_GRAPH::buildConnectionGraph() for( CONNECTION_SUBGRAPH* old_sg : m_net_name_to_subgraphs_map.at( old_name ) ) { - if( old_sg->m_absorbed ) + while( old_sg->m_absorbed ) old_sg = old_sg->m_absorbed_by; old_sg->m_driver_connection->Clone( *conn ); @@ -1530,7 +1530,7 @@ void CONNECTION_GRAPH::propagateToNeighbors( CONNECTION_SUBGRAPH* aSubgraph ) for( CONNECTION_SUBGRAPH* neighbor : kv.second ) { // May have been absorbed but won't have been deleted - if( neighbor->m_absorbed ) + while( neighbor->m_absorbed ) neighbor = neighbor->m_absorbed_by; SCH_CONNECTION* parent = aParentGraph->m_driver_connection;