From 7716f20a5b19ecf7662f7225b18d28bf12220bab Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Sat, 9 Jan 2021 13:07:40 +0000 Subject: [PATCH] Disentagle board edges from graphics in global delete. Fixes https://gitlab.com/kicad/code/kicad/issues/7024 --- pcbnew/dialogs/dialog_global_deletion.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/pcbnew/dialogs/dialog_global_deletion.cpp b/pcbnew/dialogs/dialog_global_deletion.cpp index b97f9c2e25..b0d74ee4cd 100644 --- a/pcbnew/dialogs/dialog_global_deletion.cpp +++ b/pcbnew/dialogs/dialog_global_deletion.cpp @@ -173,11 +173,20 @@ void DIALOG_GLOBAL_DELETION::acceptPcbDelete() if( !delDrawings || !masque_layer[layer] ) continue; - if( dwg->IsLocked() && !m_drawingFilterLocked->GetValue() ) - continue; - - if( !dwg->IsLocked() && !m_drawingFilterUnlocked->GetValue() ) - continue; + if( layer == Edge_Cuts ) + { + // We currently don't differentiate between locked and unlocked board + // edges. (If we did, we'd also need to add checkboxes to filter them + // as overloading m_drawingFilter* would be confusing.) + } + else + { + if( dwg->IsLocked() && !m_drawingFilterLocked->GetValue() ) + continue; + + if( !dwg->IsLocked() && !m_drawingFilterUnlocked->GetValue() ) + continue; + } } else if( type == PCB_TEXT_T ) {