diff --git a/pcbnew/dialogs/dialog_global_deletion.cpp b/pcbnew/dialogs/dialog_global_deletion.cpp index 9cf46aaa26..8d762fe3d8 100644 --- a/pcbnew/dialogs/dialog_global_deletion.cpp +++ b/pcbnew/dialogs/dialog_global_deletion.cpp @@ -31,7 +31,9 @@ using namespace std::placeholders; #include #include #include +#include #include +#include #include #include #include @@ -272,6 +274,15 @@ void DIALOG_GLOBAL_DELETION::DoGlobalDeletions() } } } + + for( PCB_GENERATOR* generator : board->Generators() ) + { + if( PCB_TUNING_PATTERN* pattern = dynamic_cast( generator ) ) + { + if( pattern->GetBoardItems().empty() ) + commit.Remove( pattern ); + } + } } commit.Push( _( "Global Delete" ) ); diff --git a/pcbnew/generators/pcb_tuning_pattern.h b/pcbnew/generators/pcb_tuning_pattern.h index 506b8260db..18858b370d 100644 --- a/pcbnew/generators/pcb_tuning_pattern.h +++ b/pcbnew/generators/pcb_tuning_pattern.h @@ -23,6 +23,7 @@ */ #include +#include #include #include #include