From 4d7cbed3a91f42b8f493a48ebb970e15321de29d Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Sat, 12 Jul 2025 15:26:30 +0100 Subject: [PATCH] Remove over-zealous assert (KICAD-SJZ). Items can be deleted more than once (for instance, a global deletion of all zone will still try to clean-up teardrops at the end, deleting them a second time). --- common/commit.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/common/commit.cpp b/common/commit.cpp index 105cad388d..a9309ce281 100644 --- a/common/commit.cpp +++ b/common/commit.cpp @@ -58,21 +58,21 @@ COMMIT& COMMIT::Stage( EDA_ITEM* aItem, CHANGE_TYPE aChangeType, BASE_SCREEN* aS break; case CHT_REMOVE: - wxASSERT( m_deletedItems.find( aItem ) == m_deletedItems.end() ); - m_deletedItems.insert( aItem ); - makeEntry( aItem, CHT_REMOVE | flag, makeImage( aItem ), aScreen ); + if( m_deletedItems.insert( aItem ).second ) + { + makeEntry( aItem, CHT_REMOVE | flag, makeImage( aItem ), aScreen ); - if( EDA_GROUP* parentGroup = aItem->GetParentGroup() ) - Modify( parentGroup->AsEdaItem(), aScreen, RECURSE_MODE::NO_RECURSE ); + if( EDA_GROUP* parentGroup = aItem->GetParentGroup() ) + Modify( parentGroup->AsEdaItem(), aScreen, RECURSE_MODE::NO_RECURSE ); + } break; case CHT_MODIFY: - { - EDA_ITEM* parent = parentObject( aItem ); - createModified( parent, makeImage( parent ), flag, aScreen ); + if( EDA_ITEM* parent = parentObject( aItem ) ) + createModified( parent, makeImage( parent ), flag, aScreen ); + break; - } default: wxFAIL;