From 9fb07d886e19037166bb631bd913047503ce01f4 Mon Sep 17 00:00:00 2001 From: Jeff Young <jeff@rokeby.ie> Date: Wed, 5 Jun 2024 10:47:50 +0100 Subject: [PATCH] PCB_GENERATOR_Ts are PCB_GROUP_Ts too. Also, an item must already be in a commit to add it to a group. Fixes https://gitlab.com/kicad/code/kicad/-/issues/17595 --- pcbnew/board_commit.cpp | 20 +------------------- pcbnew/generators/pcb_tuning_pattern.cpp | 5 ++--- 2 files changed, 3 insertions(+), 22 deletions(-) diff --git a/pcbnew/board_commit.cpp b/pcbnew/board_commit.cpp index f0111d595c..333f98e1a3 100644 --- a/pcbnew/board_commit.cpp +++ b/pcbnew/board_commit.cpp @@ -291,7 +291,7 @@ void BOARD_COMMIT::Push( const wxString& aMessage, int aCommitFlags ) } } - if( boardItem->Type() == PCB_GROUP_T ) + if( boardItem->Type() == PCB_GROUP_T || boardItem->Type() == PCB_GENERATOR_T ) addedGroup = static_cast<PCB_GROUP*>( boardItem ); if( m_isBoardEditor && autofillZones && boardItem->Type() != PCB_MARKER_T ) @@ -352,24 +352,6 @@ void BOARD_COMMIT::Push( const wxString& aMessage, int aCommitFlags ) case PCB_MARKER_T: // a marker used to show something case PCB_ZONE_T: case PCB_FOOTPRINT_T: - if( view ) - view->Remove( boardItem ); - - if( !( changeFlags & CHT_DONE ) ) - { - if( parentFP ) - { - parentFP->Remove( boardItem ); - } - else - { - board->Remove( boardItem, REMOVE_MODE::BULK ); - bulkRemovedItems.push_back( boardItem ); - } - } - - break; - case PCB_GROUP_T: if( view ) view->Remove( boardItem ); diff --git a/pcbnew/generators/pcb_tuning_pattern.cpp b/pcbnew/generators/pcb_tuning_pattern.cpp index abfe4cec0a..dfec05050d 100644 --- a/pcbnew/generators/pcb_tuning_pattern.cpp +++ b/pcbnew/generators/pcb_tuning_pattern.cpp @@ -1456,17 +1456,16 @@ void PCB_TUNING_PATTERN::EditPush( GENERATOR_TOOL* aTool, BOARD* aBoard, BOARD_C for( BOARD_ITEM* item : routerAddedItems ) { + aCommit->Add( item ); + if( PCB_TRACK* track = dynamic_cast<PCB_TRACK*>( item ) ) { if( bounds.PointInside( track->GetStart(), epsilon ) && bounds.PointInside( track->GetEnd(), epsilon ) ) { - AddItem( item ); aCommit->Stage( item, CHT_GROUP ); } } - - aCommit->Add( item ); } }