diff --git a/eeschema/connection_graph.cpp b/eeschema/connection_graph.cpp index 1d0229075a..27cb7365f6 100644 --- a/eeschema/connection_graph.cpp +++ b/eeschema/connection_graph.cpp @@ -441,13 +441,13 @@ CONNECTION_SUBGRAPH::GetNetclassesForDriver( SCH_ITEM* aItem ) const // Get netclasses on attached rule areas for( SCH_RULE_AREA* ruleArea : ruleAreaCache ) { - const std::vector> ruleNetclasses = - ruleArea->GetResolvedNetclasses(); + const std::vector> ruleAreaNetclasses = + ruleArea->GetResolvedNetclasses( &m_sheet ); - if( ruleNetclasses.size() > 0 ) + if( ruleAreaNetclasses.size() > 0 ) { - foundNetclasses.insert( foundNetclasses.end(), ruleNetclasses.begin(), - ruleNetclasses.end() ); + foundNetclasses.insert( foundNetclasses.end(), ruleAreaNetclasses.begin(), + ruleAreaNetclasses.end() ); } } diff --git a/eeschema/sch_rule_area.cpp b/eeschema/sch_rule_area.cpp index 6a3470ff9e..25104ef199 100644 --- a/eeschema/sch_rule_area.cpp +++ b/eeschema/sch_rule_area.cpp @@ -342,7 +342,8 @@ const std::unordered_set& SCH_RULE_AREA::GetDirectives() c } -const std::vector> SCH_RULE_AREA::GetResolvedNetclasses() const +const std::vector> +SCH_RULE_AREA::GetResolvedNetclasses( const SCH_SHEET_PATH* aSheetPath ) const { std::vector> resolvedNetclasses; @@ -357,7 +358,7 @@ const std::vector> SCH_RULE_AREA::GetResolvedNetc if( field->GetCanonicalName() == wxT( "Netclass" ) ) { - wxString netclass = field->GetText(); + wxString netclass = field->GetShownText( aSheetPath, false ); if( netclass != wxEmptyString ) resolvedNetclasses.push_back( { netclass, directive } ); @@ -395,8 +396,7 @@ void SCH_RULE_AREA::GetMsgPanelInfo( EDA_DRAW_FRAME* aFrame, std::vector> netclasses = - SCH_RULE_AREA::GetResolvedNetclasses(); + const std::vector> netclasses = SCH_RULE_AREA::GetResolvedNetclasses( nullptr ); wxString resolvedNetclass = _( "" ); if( netclasses.size() > 0 ) diff --git a/eeschema/sch_rule_area.h b/eeschema/sch_rule_area.h index f7230dcdd8..7a89f05790 100644 --- a/eeschema/sch_rule_area.h +++ b/eeschema/sch_rule_area.h @@ -95,7 +95,7 @@ public: /// Resolve the netclass of this rule area from connected directive labels. /// /// @return The resolved netclass (if any), and the SCH_ITEM providing the declaration. - const std::vector> GetResolvedNetclasses() const; + const std::vector> GetResolvedNetclasses( const SCH_SHEET_PATH* aSheetPath ) const; /// Clear and resets items and directives attached to this rule area. void ResetDirectivesAndItems( KIGFX::SCH_VIEW* view );