diff --git a/pcbnew/teardrop/teardrop.cpp b/pcbnew/teardrop/teardrop.cpp index 1c11e608c5..708048b433 100644 --- a/pcbnew/teardrop/teardrop.cpp +++ b/pcbnew/teardrop/teardrop.cpp @@ -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& 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;