From da659f5d05cdaed0e409cb27a66e41bec8d2ecef Mon Sep 17 00:00:00 2001 From: Seth Hillbrand Date: Fri, 22 Aug 2025 11:26:24 -0700 Subject: [PATCH] Manually check pad layers before inserting We do not rely on GetEffectiveShape(layer) to return null for layers that the pad does not exist on. Fixes https://gitlab.com/kicad/code/kicad/-/issues/21523 (cherry picked from commit 2e1910ca8691672dabcedd9ad73b3a2834cd10ce) --- pcbnew/drc/drc_creepage_utils.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pcbnew/drc/drc_creepage_utils.cpp b/pcbnew/drc/drc_creepage_utils.cpp index fc0285913a..4d6e7da95d 100644 --- a/pcbnew/drc/drc_creepage_utils.cpp +++ b/pcbnew/drc/drc_creepage_utils.cpp @@ -2560,7 +2560,7 @@ std::shared_ptr CREEPAGE_GRAPH::AddNetElements( int aNetCode, PCB_LA { for( PAD* pad : footprint->Pads() ) { - if( pad->GetNetCode() != aNetCode ) + if( pad->GetNetCode() != aNetCode || !pad->GetLayerSet().test( aLayer ) ) continue; std::shared_ptr padShape = pad->GetEffectiveShape( aLayer );