BOARD_NETLIST_UPDATER: disable auto refill zones if new footprints are loaded and waiting for placement.
Auto refill creates a crash when these footprints are moved, probably due to a partial connectivity rebuild due to refilling when the connectivity data is not yet finalized. Fixes #11830 https://gitlab.com/kicad/code/kicad/issues/11830
This commit is contained in:
parent
103b8a0d2c
commit
d351d0c839
|
@ -6,7 +6,7 @@
|
|||
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@gmail.com>
|
||||
*
|
||||
* 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();
|
||||
|
|
Loading…
Reference in New Issue