Handle hierarchical sheets in incremental change
The drivers need to get passed up and down the hierarchical sheets. In
order to do this, both the sheet pin and the hierarchical pin need to
be in the changed items. However, we only get sheets in the screen
items list while the pins are the elements that get set dirty
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17797
Cherry-picked from 5f16c5892c
This commit is contained in:
parent
8705bea9ab
commit
7d7decafd4
|
@ -750,6 +750,19 @@ void CONNECTION_GRAPH::Recalculate( const SCH_SHEET_LIST& aSheetList, bool aUnco
|
|||
}
|
||||
}
|
||||
}
|
||||
else if( item->Type() == SCH_SHEET_T )
|
||||
{
|
||||
SCH_SHEET* sheet = static_cast<SCH_SHEET*>( item );
|
||||
|
||||
for( SCH_SHEET_PIN* pin : sheet->GetPins() )
|
||||
{
|
||||
if( pin->IsConnectivityDirty() )
|
||||
{
|
||||
items.push_back( pin );
|
||||
dirty_items.insert( pin );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Ensure the hierarchy info stored in the SCH_SCREEN (such as symbol units) reflects
|
||||
// the current SCH_SHEET_PATH
|
||||
|
|
Loading…
Reference in New Issue