Make sure undo/redo of pagesetup is done to correct sheet.
Fixes https://gitlab.com/kicad/code/kicad/issues/9999
This commit is contained in:
parent
8b52e969d6
commit
aa4dcb2bf1
|
@ -268,8 +268,7 @@ void SCH_EDIT_FRAME::PutDataInPreviousState( PICKED_ITEMS_LIST* aList )
|
||||||
{
|
{
|
||||||
UNDO_REDO status = aList->GetPickedItemStatus( (unsigned) ii );
|
UNDO_REDO status = aList->GetPickedItemStatus( (unsigned) ii );
|
||||||
EDA_ITEM* eda_item = aList->GetPickedItem( (unsigned) ii );
|
EDA_ITEM* eda_item = aList->GetPickedItem( (unsigned) ii );
|
||||||
SCH_SCREEN* screen =
|
SCH_SCREEN* screen = dynamic_cast<SCH_SCREEN*>( aList->GetScreenForItem( (unsigned) ii ) );
|
||||||
dynamic_cast< SCH_SCREEN* >( aList->GetScreenForItem( (unsigned) ii ) );
|
|
||||||
|
|
||||||
wxCHECK( screen, /* void */ );
|
wxCHECK( screen, /* void */ );
|
||||||
|
|
||||||
|
@ -295,6 +294,9 @@ void SCH_EDIT_FRAME::PutDataInPreviousState( PICKED_ITEMS_LIST* aList )
|
||||||
}
|
}
|
||||||
else if( status == UNDO_REDO::PAGESETTINGS )
|
else if( status == UNDO_REDO::PAGESETTINGS )
|
||||||
{
|
{
|
||||||
|
SetCurrentSheet( *m_schematic->GetSheets().FindSheetForScreen( screen ) );
|
||||||
|
DisplayCurrentSheet();
|
||||||
|
|
||||||
// swap current settings with stored settings
|
// swap current settings with stored settings
|
||||||
DS_PROXY_UNDO_ITEM alt_item( this );
|
DS_PROXY_UNDO_ITEM alt_item( this );
|
||||||
DS_PROXY_UNDO_ITEM* item = static_cast<DS_PROXY_UNDO_ITEM*>( eda_item );
|
DS_PROXY_UNDO_ITEM* item = static_cast<DS_PROXY_UNDO_ITEM*>( eda_item );
|
||||||
|
|
Loading…
Reference in New Issue