From 90ff331c583357d23f9d512033b718e31926bf53 Mon Sep 17 00:00:00 2001 From: Roberto Fernandez Bautista Date: Sat, 10 Jun 2023 12:03:18 +0200 Subject: [PATCH] Refactor: Move static to be inside ZONE_SETTINGS --- pcbnew/teardrop/teardrop.cpp | 5 +---- pcbnew/zone_settings.cpp | 8 ++++++++ pcbnew/zone_settings.h | 5 +++++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/pcbnew/teardrop/teardrop.cpp b/pcbnew/teardrop/teardrop.cpp index 1f1d5f40c9..0ab33fae00 100644 --- a/pcbnew/teardrop/teardrop.cpp +++ b/pcbnew/teardrop/teardrop.cpp @@ -54,9 +54,6 @@ TEARDROP_MANAGER::TEARDROP_MANAGER( BOARD* aBoard, TOOL_MANAGER* aToolManager ) } -// 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 { @@ -64,7 +61,7 @@ ZONE* TEARDROP_MANAGER::createTeardrop( TEARDROP_VARIANT aTeardropVariant, // teardrop settings are the last zone settings used by a zone dialog. // override them by default. - s_default_settings.ExportSetting( *teardrop, false ); + ZONE_SETTINGS::GetDefaultSettings().ExportSetting( *teardrop, false ); // Add zone properties (priority will be fixed later) teardrop->SetTeardropAreaType( aTeardropVariant == TD_TYPE_PADVIA ? TEARDROP_TYPE::TD_VIAPAD diff --git a/pcbnew/zone_settings.cpp b/pcbnew/zone_settings.cpp index 4e436e5965..f74b244a15 100644 --- a/pcbnew/zone_settings.cpp +++ b/pcbnew/zone_settings.cpp @@ -196,6 +196,14 @@ const static wxSize LAYER_BITMAP_SIZE( 24, 16 ); const static wxSize CHECKERBOARD_SIZE( 8, 8 ); +static const ZONE_SETTINGS& GetDefaultSettings() +{ + static ZONE_SETTINGS defaultSettings; + + return defaultSettings; +} + + // A helper for setting up a dialog list for specifying zone layers. Used by all three // zone settings dialogs. void ZONE_SETTINGS::SetupLayersList( wxDataViewListCtrl* aList, PCB_BASE_FRAME* aFrame, diff --git a/pcbnew/zone_settings.h b/pcbnew/zone_settings.h index 60b226334a..a11c3f4d24 100644 --- a/pcbnew/zone_settings.h +++ b/pcbnew/zone_settings.h @@ -143,6 +143,11 @@ public: */ ZONE_SETTINGS& operator << ( const ZONE& aSource ); + /** + * @return Default ZONE_SETTINGS + */ + static const ZONE_SETTINGS& GetDefaultSettings(); + /** * A helper routine for the various zone dialogs (copper, non-copper, keepout). * @param aList the wxDataViewListCtrl to populate