pcbnew: layers visibility affects printing

Fixes: lp:1744730
https://bugs.launchpad.net/kicad/+bug/1744730
This commit is contained in:
jean-pierre charras 2018-01-22 21:23:47 +01:00
parent 61193dcd13
commit c702646c25
1 changed files with 7 additions and 0 deletions

View File

@ -136,6 +136,11 @@ void PCB_EDIT_FRAME::PrintPage( wxDC* aDC,
displ_opts->m_DisplayPadFill = true;
displ_opts->m_DisplayViaFill = true;
// Set all board layers as visible, because the print dialog has itself
// a layer selection, that have priority over the layer manager setup
LSET save_visible_brd_layers = Pcb->GetVisibleLayers();
Pcb->SetVisibleLayers( LSET::AllLayersMask() );
if( !( aPrintMask & LSET::AllCuMask() ).any() )
{
if( onePagePerLayer )
@ -303,7 +308,9 @@ void PCB_EDIT_FRAME::PrintPage( wxDC* aDC,
m_canvas->SetPrintMirrored( false );
// Restore settings:
*displ_opts = save_opt;
Pcb->SetVisibleLayers( save_visible_brd_layers );
GetScreen()->m_Active_Layer = activeLayer;
GetBoard()->SetElementVisibility( LAYER_NO_CONNECTS, nctmp );