diff --git a/pcbnew/netlist_reader/board_netlist_updater.cpp b/pcbnew/netlist_reader/board_netlist_updater.cpp index a68bc5a153..bc65d48f03 100644 --- a/pcbnew/netlist_reader/board_netlist_updater.cpp +++ b/pcbnew/netlist_reader/board_netlist_updater.cpp @@ -6,7 +6,7 @@ * Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck * Copyright (C) 2011 Wayne Stambaugh * - * Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 1992-2022 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -1012,7 +1012,12 @@ bool BOARD_NETLIST_UPDATER::UpdateNetlist( NETLIST& aNetlist ) m_board->GetNetInfo().RemoveUnusedNets(); m_commit.SetResolveNetConflicts(); - m_commit.Push( _( "Update netlist" ) ); + + // When new footprints are added, the automatic zone refill is disabled because: + // * it creates crashes when calculating dynamic ratsnests if auto refill is enabled. + // (the auto refills rebuild the connectivity with incomplete data) + // * it is useless because zones will be refilled after placing new footprints + m_commit.Push( _( "Update netlist" ), m_newFootprintsCount ? ZONE_FILL_OP : 0 ); m_board->SynchronizeNetsAndNetClasses(); m_frame->SaveProjectSettings();