Teardrops: use default zone settings instead of last settings set by the zone dialog.

Fixes #12171
https://gitlab.com/kicad/code/kicad/issues/
Fixes #12172
This commit is contained in:
jean-pierre charras 2022-08-07 08:52:40 +02:00
parent 31fdd9320d
commit 05785ac6b9
1 changed files with 7 additions and 1 deletions

View File

@ -52,11 +52,17 @@ TEARDROP_MANAGER::TEARDROP_MANAGER( BOARD* aBoard, PCB_EDIT_FRAME* aFrame )
// Build a zone teardrop
static ZONE_SETTINGS s_default_settings; // Use zone default settings for teardrop
ZONE* TEARDROP_MANAGER::createTeardrop( TEARDROP_VARIANT aTeardropVariant,
std::vector<VECTOR2I>& aPoints, PCB_TRACK* aTrack) const
{
ZONE* teardrop = new ZONE( m_board );
// teardrop settings are the last zone settings used by a zone dialog.
// override them by default.
s_default_settings.ExportSetting( *teardrop, false );
// Add zone properties (priority will be fixed later)
teardrop->SetTeardropAreaType( aTeardropVariant == TD_TYPE_PADVIA ?
TEARDROP_TYPE::TD_VIAPAD :
@ -77,7 +83,7 @@ ZONE* TEARDROP_MANAGER::createTeardrop( TEARDROP_VARIANT aTeardropVariant,
for( VECTOR2I pt: aPoints )
outline->Append(pt.x, pt.y);
// Can be useful:
// Used in priority calculations:
teardrop->CalculateFilledArea();
return teardrop;