Don't select new items after cancelling move following item duplication
Fixes https://gitlab.com/kicad/code/kicad/issues/7956
This commit is contained in:
parent
9f8127afcf
commit
a677998f47
|
@ -932,7 +932,8 @@ int EDIT_TOOL::doMoveSelection( TOOL_EVENT aEvent, bool aPickReference )
|
||||||
m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true );
|
m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true );
|
||||||
|
|
||||||
editFrame->PopTool( tool );
|
editFrame->PopTool( tool );
|
||||||
return 0;
|
|
||||||
|
return restore_state ? -1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2086,14 +2087,17 @@ int EDIT_TOOL::Duplicate( const TOOL_EVENT& aEvent )
|
||||||
// If items were duplicated, pick them up
|
// If items were duplicated, pick them up
|
||||||
// this works well for "dropping" copies around and pushes the commit
|
// this works well for "dropping" copies around and pushes the commit
|
||||||
TOOL_EVENT evt = PCB_ACTIONS::move.MakeEvent();
|
TOOL_EVENT evt = PCB_ACTIONS::move.MakeEvent();
|
||||||
Move( evt );
|
bool move_cancelled = Move( evt ) == -1;
|
||||||
|
|
||||||
// After moving the new items, we need to refresh the group and view flags
|
// After moving the new items, we need to refresh the group and view flags
|
||||||
m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true );
|
m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true );
|
||||||
|
|
||||||
if( !is_hover )
|
if( !is_hover && !move_cancelled )
|
||||||
|
{
|
||||||
|
// Do not select new items if they've been deleted again by cancelling Move()
|
||||||
m_toolMgr->RunAction( PCB_ACTIONS::selectItems, true, &new_items );
|
m_toolMgr->RunAction( PCB_ACTIONS::selectItems, true, &new_items );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue