diff --git a/pcbnew/tools/drawing_tool.cpp b/pcbnew/tools/drawing_tool.cpp index 6e1c286fa1..8ae0504842 100644 --- a/pcbnew/tools/drawing_tool.cpp +++ b/pcbnew/tools/drawing_tool.cpp @@ -1064,7 +1064,9 @@ bool DRAWING_TOOL::drawSegment( int aShape, DRAWSEGMENT*& aGraphic, } else if( evt->IsAction( &PCB_ACTIONS::layerChanged ) ) { + m_lineWidth = getSegmentWidth( getDrawingLayer() ); aGraphic->SetLayer( getDrawingLayer() ); + aGraphic->SetWidth( m_lineWidth ); m_view->Update( &preview ); frame()->SetMsgPanel( aGraphic ); } @@ -1266,6 +1268,14 @@ bool DRAWING_TOOL::drawArc( DRAWSEGMENT*& aGraphic ) aGraphic = nullptr; break; } + else if( evt->IsAction( &PCB_ACTIONS::layerChanged ) ) + { + m_lineWidth = getSegmentWidth( getDrawingLayer() ); + aGraphic->SetLayer( getDrawingLayer() ); + aGraphic->SetWidth( m_lineWidth ); + m_view->Update( &preview ); + frame()->SetMsgPanel( aGraphic ); + } else if( evt->IsClick( BUT_RIGHT ) ) { m_menu.ShowContextMenu();