diff --git a/eeschema/sch_sheet.cpp b/eeschema/sch_sheet.cpp index d7716c40cf..aab3912bb0 100644 --- a/eeschema/sch_sheet.cpp +++ b/eeschema/sch_sheet.cpp @@ -985,7 +985,7 @@ void SCH_SHEET::Print( RENDER_SETTINGS* aSettings, const wxPoint& aOffset ) wxPoint pos = m_pos + aOffset; int lineWidth = std::max( GetPenWidth(), aSettings->GetDefaultPenWidth() ); auto* settings = dynamic_cast( aSettings ); - bool override = settings ? settings->m_OverrideItemColors : false; + bool override = settings && settings->m_OverrideItemColors; COLOR4D border = GetBorderColor(); COLOR4D background = GetBackgroundColor(); @@ -995,6 +995,9 @@ void SCH_SHEET::Print( RENDER_SETTINGS* aSettings, const wxPoint& aOffset ) if( override || background == COLOR4D::UNSPECIFIED ) background = aSettings->GetLayerColor( LAYER_SHEET_BACKGROUND ); + if( GetGRForceBlackPenState() ) // printing in black & white + background = COLOR4D::UNSPECIFIED; + if( background != COLOR4D::UNSPECIFIED ) { GRFilledRect( nullptr, DC, pos.x, pos.y, pos.x + m_size.x, pos.y + m_size.y, 0,