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
This commit is contained in:
parent
1bc34f7bd7
commit
5f16c5892c
|
@ -652,6 +652,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