Fix broken logic for hidden pins.

Fixes https://gitlab.com/kicad/code/kicad/issues/11771

(cherry picked from commit b710982875)
This commit is contained in:
Jeff Young 2022-06-09 00:04:49 +01:00
parent 41a9293106
commit bb5fd5a2ec
1 changed files with 9 additions and 6 deletions

View File

@ -932,14 +932,17 @@ const EDA_RECT LIB_SYMBOL::GetBodyBoundingBox( int aUnit, int aConvert, bool aIn
{ {
const LIB_PIN& pin = static_cast<const LIB_PIN&>( item ); const LIB_PIN& pin = static_cast<const LIB_PIN&>( item );
// Note: the roots of the pins are always included for symbols that don't have a if( pin.IsVisible() )
// well-defined body. {
// Note: the roots of the pins are always included for symbols that don't have
// a well-defined body.
if( aIncludePins && pin.IsVisible() ) if( aIncludePins )
bbox.Merge( pin.GetBoundingBox( false, true ) ); bbox.Merge( pin.GetBoundingBox( false, true ) );
else else
bbox.Merge( pin.GetPinRoot() ); bbox.Merge( pin.GetPinRoot() );
} }
}
else else
{ {
bbox.Merge( item.GetBoundingBox() ); bbox.Merge( item.GetBoundingBox() );