From 0f8a1c22ada93b0b40ca9a90bb83f572276d0f3a Mon Sep 17 00:00:00 2001 From: Seth Hillbrand Date: Fri, 11 Oct 2019 06:14:42 -0700 Subject: [PATCH] pcbnew: Snap during routing needs active parent The router items may not yet have a board item parent. In this case, the reference to the parent needs to be guarded before dereferencing. Fixes: lp:1847717 * https://bugs.launchpad.net/kicad/+bug/1847717 --- pcbnew/router/pns_kicad_iface.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pcbnew/router/pns_kicad_iface.cpp b/pcbnew/router/pns_kicad_iface.cpp index af2d14ccea..8327ba7c8d 100644 --- a/pcbnew/router/pns_kicad_iface.cpp +++ b/pcbnew/router/pns_kicad_iface.cpp @@ -1078,7 +1078,8 @@ bool PNS_KICAD_IFACE::IsItemVisible( const PNS::ITEM* aItem ) auto activeLayers = m_view->GetPainter()->GetSettings()->GetActiveLayers(); bool isHighContrast = m_view->GetPainter()->GetSettings()->GetHighContrast(); - if( m_view->IsVisible( item ) && ( !isHighContrast || activeLayers.count( item->GetLayer() ) ) + if( item && m_view->IsVisible( item ) + && ( !isHighContrast || activeLayers.count( item->GetLayer() ) ) && item->ViewGetLOD( item->GetLayer(), m_view ) < m_view->GetScale() ) return true;