diff --git a/eeschema/autoplace_fields.cpp b/eeschema/autoplace_fields.cpp index a7faad8f02..4e460639e4 100644 --- a/eeschema/autoplace_fields.cpp +++ b/eeschema/autoplace_fields.cpp @@ -194,24 +194,18 @@ protected: int max_field_width = 0; int total_height = 0; - std::vector visibleFields; - for( SCH_FIELD* field : m_fields ) { - if( field->IsVisible() ) - visibleFields.push_back( field ); - } - - for( SCH_FIELD* field : visibleFields ) - { - if( field->CanAutoplace() ) + if( !field->IsVisible() || !field->CanAutoplace() ) { - if( m_symbol->GetTransform().y1 ) - field->SetTextAngle( ANGLE_VERTICAL ); - else - field->SetTextAngle( ANGLE_HORIZONTAL ); + continue; } + if( m_symbol->GetTransform().y1 ) + field->SetTextAngle( ANGLE_VERTICAL ); + else + field->SetTextAngle( ANGLE_HORIZONTAL ); + BOX2I bbox = field->GetBoundingBox(); int field_width = bbox.GetWidth(); int field_height = bbox.GetHeight();