Push undo/redo blocking down a level in LengthTuner tool.

This way it's active only while tuning a single line, rather than
while the tool is selected.

Fixes https://gitlab.com/kicad/code/kicad/issues/7462
This commit is contained in:
Jeff Young 2021-02-08 12:50:29 +00:00
parent 02aca4a7d7
commit 7aa7e3fd43
1 changed files with 7 additions and 3 deletions

View File

@ -171,6 +171,7 @@ void LENGTH_TUNER_TOOL::performTuning()
auto placer = static_cast<PNS::MEANDER_PLACER_BASE*>( m_router->Placer() );
placer->UpdateSettings( m_savedMeanderSettings );
frame()->UndoRedoBlock( true );
VECTOR2I end = getViewControls()->GetMousePosition();
@ -252,6 +253,8 @@ void LENGTH_TUNER_TOOL::performTuning()
}
m_router->StopRouting();
frame()->UndoRedoBlock( false );
controls()->SetAutoPan( false );
controls()->ForceCursorPosition( false );
frame()->GetCanvas()->SetCurrentCursor( KICURSOR::ARROW );
@ -279,7 +282,6 @@ int LENGTH_TUNER_TOOL::MainLoop( const TOOL_EVENT& aEvent )
m_router->SetMode( aEvent.Parameter<PNS::ROUTER_MODE>() );
controls()->ShowCursor( true );
frame()->UndoRedoBlock( true );
auto setCursor =
[&]()
@ -317,10 +319,12 @@ int LENGTH_TUNER_TOOL::MainLoop( const TOOL_EVENT& aEvent )
{
m_menu.ShowContextMenu( selection() );
}
else
{
evt->SetPassEvent();
}
}
frame()->UndoRedoBlock( false );
// Store routing settings till the next invocation
m_savedSizes = m_router->Sizes();