7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-19 14:11:41 +00:00

Pcbnew: fix extension snaps for initial persistent items

Specifically, do not race the delay against the proposal
cancellation for the initial items, but just accept them
immediately.
This commit is contained in:
John Beard 2025-01-24 01:53:50 +08:00
parent 5b07bb4f6a
commit de7f735856

View File

@ -224,11 +224,18 @@ void CONSTRUCTION_MANAGER::ProposeConstructionItems(
return;
}
const std::size_t hash = HashConstructionBatchSources( *aBatch, aIsPersistent );
auto pendingBatch = std::make_unique<PENDING_BATCH>( std::move( *aBatch ), aIsPersistent );
m_activationHelper->ProposeActivation(
std::make_unique<PENDING_BATCH>( PENDING_BATCH{ std::move( *aBatch ), aIsPersistent } ),
hash );
if( aIsPersistent )
{
// If the batch is persistent, we can accept it immediately
acceptConstructionItems( std::move( pendingBatch ) );
}
else
{
const std::size_t hash = HashConstructionBatchSources( pendingBatch->Batch, aIsPersistent );
m_activationHelper->ProposeActivation( std::move( pendingBatch ), hash );
}
}