Ensure subgraphs with multiple labels get sorted
This commit is contained in:
parent
019a731e03
commit
e9eacbc91c
|
@ -110,22 +110,6 @@ bool CONNECTION_SUBGRAPH::ResolveDrivers( bool aCreateMarkers )
|
||||||
{
|
{
|
||||||
if( candidates.size() > 1 )
|
if( candidates.size() > 1 )
|
||||||
{
|
{
|
||||||
if( highest_priority == 1 || highest_priority == 5 )
|
|
||||||
{
|
|
||||||
// We have multiple options and they are all component pins.
|
|
||||||
std::sort( candidates.begin(), candidates.end(),
|
|
||||||
[this]( SCH_ITEM* a, SCH_ITEM* b) -> bool
|
|
||||||
{
|
|
||||||
auto pin_a = static_cast<SCH_PIN*>( a );
|
|
||||||
auto pin_b = static_cast<SCH_PIN*>( b );
|
|
||||||
|
|
||||||
auto name_a = pin_a->GetDefaultNetName( m_sheet );
|
|
||||||
auto name_b = pin_b->GetDefaultNetName( m_sheet );
|
|
||||||
|
|
||||||
return name_a < name_b;
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
|
|
||||||
if( highest_priority == 2 )
|
if( highest_priority == 2 )
|
||||||
{
|
{
|
||||||
// We have multiple options, and they are all hierarchical
|
// We have multiple options, and they are all hierarchical
|
||||||
|
@ -142,6 +126,15 @@ bool CONNECTION_SUBGRAPH::ResolveDrivers( bool aCreateMarkers )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// For all other driver types, sort by name
|
||||||
|
std::sort( candidates.begin(), candidates.end(),
|
||||||
|
[&] ( SCH_ITEM* a, SCH_ITEM* b) -> bool
|
||||||
|
{
|
||||||
|
return GetNameForDriver( a ) < GetNameForDriver( b );
|
||||||
|
} );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( !m_driver )
|
if( !m_driver )
|
||||||
|
|
Loading…
Reference in New Issue