Don't propagate secondary connections with the same name
This commit is contained in:
parent
c162ff9076
commit
c1ee395303
|
@ -1122,6 +1122,23 @@ void CONNECTION_GRAPH::buildConnectionGraph()
|
||||||
|
|
||||||
wxString name = subgraph->GetNameForDriver( obj );
|
wxString name = subgraph->GetNameForDriver( obj );
|
||||||
|
|
||||||
|
// Non-power pins should not propagate to neighbors
|
||||||
|
if( obj->Type() == SCH_PIN_T )
|
||||||
|
{
|
||||||
|
if( static_cast<SCH_PIN*>( obj )->IsPowerConnection() )
|
||||||
|
{
|
||||||
|
if( name == connection->Name() )
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
wxLogTrace( "CONN", "Promoting neighbors of %lu (%s) secondary driver %s",
|
||||||
|
subgraph->m_code, connection->Name(), name );
|
||||||
|
|
||||||
// If the name is a global, we'll have it in the code map
|
// If the name is a global, we'll have it in the code map
|
||||||
|
|
||||||
if( m_net_name_to_code_map.count( name ) )
|
if( m_net_name_to_code_map.count( name ) )
|
||||||
|
@ -1136,6 +1153,9 @@ void CONNECTION_GRAPH::buildConnectionGraph()
|
||||||
if( conn->IsBus() || conn->NetCode() != code )
|
if( conn->IsBus() || conn->NetCode() != code )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
wxLogTrace( "CONN", "Promoting %lu (%s) to %s",
|
||||||
|
subgraph_to_update->m_code, conn->Name(), name );
|
||||||
|
|
||||||
for( auto item : subgraph_to_update->m_items )
|
for( auto item : subgraph_to_update->m_items )
|
||||||
{
|
{
|
||||||
auto item_conn = item->Connection( subsheet );
|
auto item_conn = item->Connection( subsheet );
|
||||||
|
@ -1153,6 +1173,9 @@ void CONNECTION_GRAPH::buildConnectionGraph()
|
||||||
if( sg->m_driver_connection->Name() == connection->Name() )
|
if( sg->m_driver_connection->Name() == connection->Name() )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
wxLogTrace( "CONN", "Promoting %lu (%s) to %s",
|
||||||
|
sg->m_code, sg->m_driver_connection->Name(), connection->Name() );
|
||||||
|
|
||||||
// Neighbors had better be on the same sheet
|
// Neighbors had better be on the same sheet
|
||||||
wxASSERT( sg->m_sheet == sheet );
|
wxASSERT( sg->m_sheet == sheet );
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue