Don't start dragging until Update PCB dialog has been closed.

Fixes: lp:1793828
* https://bugs.launchpad.net/kicad/+bug/1793828
This commit is contained in:
Jeff Young 2018-09-22 15:16:01 +01:00
parent 5974899fa5
commit a1bcc4ba1e
2 changed files with 7 additions and 7 deletions

View File

@ -405,6 +405,12 @@ void PCB_EDIT_FRAME::KiwayMailIn( KIWAY_EXPRESS& mail )
{ {
DIALOG_UPDATE_PCB updateDialog( this, &netlist ); DIALOG_UPDATE_PCB updateDialog( this, &netlist );
updateDialog.ShowModal(); updateDialog.ShowModal();
auto selectionTool = static_cast<SELECTION_TOOL*>(
m_toolManager->FindTool( "pcbnew.InteractiveSelection" ) );
if( !selectionTool->GetSelection().Empty() )
GetToolManager()->InvokeTool( "pcbnew.InteractiveEdit" );
} }
break; break;

View File

@ -106,11 +106,7 @@ void DIALOG_UPDATE_PCB::PerformUpdate( bool aDryRun )
// outside the existinag board // outside the existinag board
EDA_RECT bbox = board->GetBoundingBox(); EDA_RECT bbox = board->GetBoundingBox();
if( !aDryRun )
{
// Clear selection, just in case a selected item has to be removed
toolManager->RunAction( PCB_ACTIONS::selectionClear, true ); toolManager->RunAction( PCB_ACTIONS::selectionClear, true );
}
m_netlist->SetDeleteExtraFootprints( m_cbDeleteExtraFootprints->GetValue() ); m_netlist->SetDeleteExtraFootprints( m_cbDeleteExtraFootprints->GetValue() );
m_netlist->SetFindByTimeStamp( m_matchByTimestamp->GetSelection() == 0 ); m_netlist->SetFindByTimeStamp( m_matchByTimestamp->GetSelection() == 0 );
@ -162,8 +158,6 @@ void DIALOG_UPDATE_PCB::PerformUpdate( bool aDryRun )
{ {
for( MODULE* footprint : newFootprints ) for( MODULE* footprint : newFootprints )
toolManager->RunAction( PCB_ACTIONS::selectItem, true, footprint ); toolManager->RunAction( PCB_ACTIONS::selectItem, true, footprint );
toolManager->InvokeTool( "pcbnew.InteractiveEdit" );
} }
} }