Refinement for fix in 5497.
This commit is contained in:
parent
4ad4898254
commit
035b231b62
|
@ -467,6 +467,8 @@ PCB_EDIT_FRAME::~PCB_EDIT_FRAME()
|
|||
|
||||
void PCB_EDIT_FRAME::SetBoard( BOARD* aBoard )
|
||||
{
|
||||
bool new_board = ( aBoard != m_Pcb );
|
||||
|
||||
PCB_BASE_FRAME::SetBoard( aBoard );
|
||||
|
||||
if( IsGalCanvasActive() )
|
||||
|
@ -484,7 +486,9 @@ void PCB_EDIT_FRAME::SetBoard( BOARD* aBoard )
|
|||
{
|
||||
m_toolManager->SetEnvironment( aBoard, drawPanel->GetView(),
|
||||
drawPanel->GetViewControls(), this );
|
||||
m_toolManager->ResetTools( TOOL_BASE::MODEL_RELOAD );
|
||||
|
||||
if( new_board )
|
||||
m_toolManager->ResetTools( TOOL_BASE::MODEL_RELOAD );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -88,8 +88,17 @@ SELECTION_TOOL::~SELECTION_TOOL()
|
|||
|
||||
void SELECTION_TOOL::Reset( RESET_REASON aReason )
|
||||
{
|
||||
// Restore previous properties of selected items and remove them from containers
|
||||
clearSelection();
|
||||
if( aReason == TOOL_BASE::MODEL_RELOAD )
|
||||
{
|
||||
// Remove pointers to the selected items from containers
|
||||
// without changing their properties (as they are already deleted
|
||||
// while a new board is loaded)
|
||||
m_selection.group->Clear();
|
||||
m_selection.clear();
|
||||
}
|
||||
else
|
||||
// Restore previous properties of selected items and remove them from containers
|
||||
clearSelection();
|
||||
|
||||
m_frame = getEditFrame<PCB_BASE_FRAME>();
|
||||
m_locked = true;
|
||||
|
|
Loading…
Reference in New Issue