Add composite update callback to BOARD_LISTENER
Required for net inspector otherwise composite operations (such as undo / redo, and length tuning) can result in multiple add / remove events firing which results in inconsistent length state. Fixes https://gitlab.com/kicad/code/kicad/-/issues/17527 (for 9.0)
This commit is contained in:
+4
-16
@@ -483,14 +483,8 @@ void BOARD_COMMIT::Push( const wxString& aMessage, int aCommitFlags )
|
||||
} );
|
||||
}
|
||||
|
||||
if( bulkAddedItems.size() > 0 )
|
||||
board->FinalizeBulkAdd( bulkAddedItems );
|
||||
|
||||
if( bulkRemovedItems.size() > 0 )
|
||||
board->FinalizeBulkRemove( bulkRemovedItems );
|
||||
|
||||
if( itemsChanged.size() > 0 )
|
||||
board->OnItemsChanged( itemsChanged );
|
||||
if( bulkAddedItems.size() > 0 || bulkRemovedItems.size() > 0 || itemsChanged.size() > 0 )
|
||||
board->OnItemsCompositeUpdate( bulkAddedItems, bulkRemovedItems, itemsChanged );
|
||||
|
||||
if( m_isBoardEditor )
|
||||
{
|
||||
@@ -717,14 +711,8 @@ void BOARD_COMMIT::Revert()
|
||||
boardItem->ClearEditFlags();
|
||||
}
|
||||
|
||||
if( bulkAddedItems.size() > 0 )
|
||||
board->FinalizeBulkAdd( bulkAddedItems );
|
||||
|
||||
if( bulkRemovedItems.size() > 0 )
|
||||
board->FinalizeBulkRemove( bulkRemovedItems );
|
||||
|
||||
if( itemsChanged.size() > 0 )
|
||||
board->OnItemsChanged( itemsChanged );
|
||||
if( bulkAddedItems.size() > 0 || bulkRemovedItems.size() > 0 || itemsChanged.size() > 0 )
|
||||
board->OnItemsCompositeUpdate( bulkAddedItems, bulkRemovedItems, itemsChanged );
|
||||
|
||||
if( m_isBoardEditor )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user