eeschema: Place bus unfold on the stack

When activating a bus unfold, the results should be placed with the new
line generation to allow proper undo ordering.
This commit is contained in:
Seth Hillbrand 2019-04-12 19:53:41 -07:00
parent 3bdd69ad6b
commit 3e7969ab8d
1 changed files with 6 additions and 8 deletions

View File

@ -392,12 +392,8 @@ void SCH_EDIT_FRAME::EndSegment()
{
wxASSERT( m_busUnfold.entry && m_busUnfold.label );
PICKED_ITEMS_LIST bus_items;
bus_items.PushItem( ITEM_PICKER( m_busUnfold.entry, UR_NEW ) );
bus_items.PushItem( ITEM_PICKER( m_busUnfold.label, UR_NEW ) );
SaveCopyInUndoList( bus_items, UR_NEW, false );
itemList.PushItem( ITEM_PICKER( m_busUnfold.entry, UR_NEW ) );
itemList.PushItem( ITEM_PICKER( m_busUnfold.label, UR_NEW ) );
}
// Get the last non-null wire (this is the last created segment).
@ -831,8 +827,10 @@ bool SCH_EDIT_FRAME::BreakSegmentsOnJunctions( bool aAppend, SCH_SCREEN* aScreen
SCH_BUS_ENTRY_BASE* busEntry = dynamic_cast<SCH_BUS_ENTRY_BASE*>( item );
if( busEntry )
{
if( BreakSegments( busEntry->GetPosition(), brokenSegments || aAppend, aScreen )
|| BreakSegments( busEntry->m_End(), brokenSegments || aAppend, aScreen ) )
if( BreakSegments( busEntry->GetPosition(), brokenSegments || aAppend, aScreen ) )
brokenSegments = true;
if( BreakSegments( busEntry->m_End(), brokenSegments || aAppend, aScreen ) )
brokenSegments = true;
}
}