Implement "fromOtherCommand" for PlaceModule() too.
Fixes https://gitlab.com/kicad/code/kicad/issues/5281
This commit is contained in:
parent
80af7b3158
commit
e92f58bb4f
|
@ -804,6 +804,7 @@ int PCB_EDITOR_CONTROL::PlaceModule( const TOOL_EVENT& aEvent )
|
||||||
|
|
||||||
VECTOR2I cursorPos = controls->GetCursorPosition();
|
VECTOR2I cursorPos = controls->GetCursorPosition();
|
||||||
bool reselect = false;
|
bool reselect = false;
|
||||||
|
bool fromOtherCommand = module != nullptr;
|
||||||
|
|
||||||
// Prime the pump
|
// Prime the pump
|
||||||
if( module )
|
if( module )
|
||||||
|
@ -828,6 +829,19 @@ int PCB_EDITOR_CONTROL::PlaceModule( const TOOL_EVENT& aEvent )
|
||||||
{
|
{
|
||||||
m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true );
|
m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true );
|
||||||
commit.Revert();
|
commit.Revert();
|
||||||
|
|
||||||
|
if( fromOtherCommand )
|
||||||
|
{
|
||||||
|
PICKED_ITEMS_LIST* undo = m_frame->PopCommandFromUndoList();
|
||||||
|
|
||||||
|
if( undo )
|
||||||
|
{
|
||||||
|
m_frame->PutDataInPreviousState( undo, false );
|
||||||
|
undo->ClearListAndDeleteItems();
|
||||||
|
delete undo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
module = NULL;
|
module = NULL;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue