Mark pad as dirty when changing layerset

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20435


(cherry picked from commit 8921824128b8408b76c4b9194e6fcf01f0350188)

Co-authored-by: Jon Evans <jon@craftyjon.com>
This commit is contained in:
Jon Evans 2025-03-23 20:10:07 -04:00
parent 8acf694129
commit bd3cc02b18
2 changed files with 3 additions and 3 deletions

View File

@ -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];
}

View File

@ -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 );