pcbnew: Copy hatch zone settings when duplicate

Also wrap orientation instead of verifying it.  This allows valid angles
that are larger/smaller than the ±180 limit.

Fixes: lp:1842654
* https://bugs.launchpad.net/kicad/+bug/1842654
This commit is contained in:
Seth Hillbrand 2019-09-05 07:36:23 -07:00
parent 8d86d94a4d
commit a4808e0420
2 changed files with 13 additions and 2 deletions

View File

@ -107,6 +107,12 @@ ZONE_CONTAINER::ZONE_CONTAINER( const ZONE_CONTAINER& aZone ) :
m_hatchPitch = aZone.m_hatchPitch;
m_HatchLines = aZone.m_HatchLines;
m_HatchFillTypeThickness = aZone.m_HatchFillTypeThickness;
m_HatchFillTypeGap = aZone.m_HatchFillTypeGap;
m_HatchFillTypeOrientation = aZone.m_HatchFillTypeOrientation;
m_HatchFillTypeSmoothingLevel = aZone.m_HatchFillTypeSmoothingLevel;
m_HatchFillTypeSmoothingValue = aZone.m_HatchFillTypeSmoothingValue;
SetLayerSet( aZone.GetLayerSet() );
SetLocalFlags( aZone.GetLocalFlags() );
@ -138,6 +144,12 @@ ZONE_CONTAINER& ZONE_CONTAINER::operator=( const ZONE_CONTAINER& aOther )
m_FillSegmList.clear();
m_FillSegmList = aOther.m_FillSegmList;
m_HatchFillTypeThickness = aOther.m_HatchFillTypeThickness;
m_HatchFillTypeGap = aOther.m_HatchFillTypeGap;
m_HatchFillTypeOrientation = aOther.m_HatchFillTypeOrientation;
m_HatchFillTypeSmoothingLevel = aOther.m_HatchFillTypeSmoothingLevel;
m_HatchFillTypeSmoothingValue = aOther.m_HatchFillTypeSmoothingValue;
SetLayerSet( aOther.GetLayerSet() );
return *this;

View File

@ -302,8 +302,7 @@ bool DIALOG_COPPER_ZONE::AcceptOptions( bool aUseExportableSetupOnly )
if( !m_spokeWidth.Validate( 0, INT_MAX ) )
return false;
if( !m_gridStyleRotation.Validate( -1800, 1800 ) )
return false;
m_gridStyleRotation.SetValue( NormalizeAngle180( m_gridStyleRotation.GetValue() ) );
if( m_settings.m_FillMode == ZFM_HATCH_PATTERN )
{