From 8921824128b8408b76c4b9194e6fcf01f0350188 Mon Sep 17 00:00:00 2001 From: Jon Evans <jon@craftyjon.com> Date: Sun, 23 Mar 2025 20:06:57 -0400 Subject: [PATCH] Mark pad as dirty when changing layerset Fixes https://gitlab.com/kicad/code/kicad/-/issues/20435 --- pcbnew/pad.cpp | 4 ++-- pcbnew/pad.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pcbnew/pad.cpp b/pcbnew/pad.cpp index dbbdc4a925..7e9f7a100b 100644 --- a/pcbnew/pad.cpp +++ b/pcbnew/pad.cpp @@ -562,8 +562,8 @@ std::shared_ptr<SHAPE> PAD::GetEffectiveShape( PCB_LAYER_ID aLayer, FLASHING fla aLayer = Padstack().EffectiveLayerFor( aLayer ); - wxASSERT_MSG( m_effectiveShapes.contains( aLayer ) && m_effectiveShapes.at( aLayer ), - wxT( "Null shape in PAD::GetEffectiveShape!" ) ); + wxCHECK_MSG( m_effectiveShapes.contains( aLayer ) && m_effectiveShapes.at( aLayer ), nullptr, + wxT( "Null shape in PAD::GetEffectiveShape!" ) ); return m_effectiveShapes[aLayer]; } diff --git a/pcbnew/pad.h b/pcbnew/pad.h index ec2f531132..0fc3df7058 100644 --- a/pcbnew/pad.h +++ b/pcbnew/pad.h @@ -431,7 +431,7 @@ public: m_polyDirty[ERROR_OUTSIDE] = true; } - void SetLayerSet( const LSET& aLayers ) override { m_padStack.SetLayerSet( aLayers ); } + void SetLayerSet( const LSET& aLayers ) override { m_padStack.SetLayerSet( aLayers ); SetDirty(); } LSET GetLayerSet() const override { return m_padStack.LayerSet(); } void SetAttribute( PAD_ATTRIB aAttribute );