diff --git a/pcbnew/pcb_edit_frame.cpp b/pcbnew/pcb_edit_frame.cpp index 771fefad18..83bdec343f 100644 --- a/pcbnew/pcb_edit_frame.cpp +++ b/pcbnew/pcb_edit_frame.cpp @@ -1393,6 +1393,9 @@ void PCB_EDIT_FRAME::ShowBoardSetupDialog( const wxString& aInitialPage ) // QuasiModal required for Scintilla auto-complete if( dlg.ShowQuasiModal() == wxID_OK ) { + // Note: We must synchronise time domain properties before nets and classes, otherwise the updates + // called by the board listener events are using stale data + GetBoard()->SynchronizeTimeDomainProperties(); GetBoard()->SynchronizeNetsAndNetClasses( true ); if( !GetBoard()->SynchronizeComponentClasses( std::unordered_set() ) ) @@ -1403,8 +1406,6 @@ void PCB_EDIT_FRAME::ShowBoardSetupDialog( const wxString& aInitialPage ) wxICON_WARNING, WX_INFOBAR::MESSAGE_TYPE::GENERIC ); } - GetBoard()->SynchronizeTimeDomainProperties(); - // We don't know if anything was modified, so err on the side of requiring a save OnModify();