7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-21 19:33:44 +00:00

Second try to fix MacOS build

This commit is contained in:
Seth Hillbrand 2024-07-26 15:52:50 +02:00
parent c0d8d87364
commit 483d8cd084

View File

@ -87,11 +87,12 @@ void ZONES_CONTAINER::OnUserConfirmChange()
for( auto& [zone, zoneClone] : m_zonesCloneMap )
{
std::map<PCB_LAYER_ID, std::shared_ptr<SHAPE_POLY_SET>> filled_zone_to_restore;
ZONE* internal_zone = zone; // Duplicate the zone pointer to allow capture on older MacOS (13)
zone->GetLayerSet().RunOnLayers(
// Capture 'zone' by value and 'filled_zone_to_restore' by reference for MacOS clang
[&filled_zone_to_restore, zone]( PCB_LAYER_ID layer )
[&]( PCB_LAYER_ID layer )
{
std::shared_ptr<SHAPE_POLY_SET> fill = zone->GetFilledPolysList( layer );
std::shared_ptr<SHAPE_POLY_SET> fill = internal_zone->GetFilledPolysList( layer );
if( fill )
{
filled_zone_to_restore[layer] = fill;