Browse Source

More robust condition to avoid division by 0 in D_PAD::ViewGetLOD()

pull/3/merge
Maciej Suminski 9 years ago
parent
commit
092c61e021
  1. 10
      pcbnew/class_pad.cpp

10
pcbnew/class_pad.cpp

@ -972,12 +972,14 @@ unsigned int D_PAD::ViewGetLOD( int aLayer, KIGFX::VIEW* aView ) const
// Netnames will be shown only if zoom is appropriate
if( IsNetnameLayer( aLayer ) )
{
// Pad sizes can be zero briefly when someone is typing a number like "0.5" in the pad properties dialog.
// Fail gracefully if this happens.
if( ( m_Size.x == 0 ) && ( m_Size.y == 0 ) )
int divisor = std::max( m_Size.x, m_Size.y );
// Pad sizes can be zero briefly when someone is typing a number like "0.5"
// in the pad properties dialog
if( divisor == 0 )
return UINT_MAX;
return ( Millimeter2iu( 100 ) / std::max( m_Size.x, m_Size.y ) );
return ( Millimeter2iu( 100 ) / divisor );
}
// Other layers are shown without any conditions

Loading…
Cancel
Save