While Seth fixed the main issue, repeated Activate() calls probably still aren't a good idea.

(The main issue was addressed here: 552815d48617c08a6ec29f22c7ecdf1906988e11.)
This commit is contained in:
Jeff Young 2019-06-16 11:03:56 +01:00
parent 18ffb405b4
commit 6d335f2a82
1 changed files with 4 additions and 2 deletions

View File

@ -263,6 +263,8 @@ int DRAWING_TOOL::DrawLine( const TOOL_EVENT& aEvent )
m_frame->SetToolID( m_editModules ? ID_MODEDIT_LINE_TOOL : ID_PCB_ADD_LINE_BUTT,
wxCURSOR_PENCIL, _( "Add graphic line" ) );
Activate();
while( drawSegment( S_SEGMENT, line, startingPoint ) )
{
// This can be reset by some actions (e.g. Save Board), so ensure it stays set.
@ -308,6 +310,8 @@ int DRAWING_TOOL::DrawCircle( const TOOL_EVENT& aEvent )
m_frame->SetToolID( m_editModules ? ID_MODEDIT_CIRCLE_TOOL : ID_PCB_CIRCLE_BUTT,
wxCURSOR_PENCIL, _( "Add graphic circle" ) );
Activate();
while( drawSegment( S_CIRCLE, circle ) )
{
// This can be reset by some actions (e.g. Save Board), so ensure it stays set.
@ -1010,8 +1014,6 @@ bool DRAWING_TOOL::drawSegment( int aShape, DRAWSEGMENT*& aGraphic, OPT<VECTOR2D
m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true );
m_controls->ShowCursor( true );
Activate();
bool direction45 = false; // 45 degrees only mode
bool started = false;
bool isLocalOriginSet = ( m_frame->GetScreen()->m_LocalOrigin != VECTOR2D( 0, 0 ) );