diff --git a/pcbnew/tools/edit_tool.cpp b/pcbnew/tools/edit_tool.cpp index e6768228fc..52ca089125 100644 --- a/pcbnew/tools/edit_tool.cpp +++ b/pcbnew/tools/edit_tool.cpp @@ -736,6 +736,9 @@ int EDIT_TOOL::Duplicate( const TOOL_EVENT& aEvent ) // the original incUndoInhibit(); + if( m_editModules ) + editFrame->SaveCopyInUndoList( editFrame->GetBoard()->m_Modules, UR_MODEDIT ); + std::vector old_items; for( int i = 0; i < selection.Size(); ++i ) @@ -778,7 +781,8 @@ int EDIT_TOOL::Duplicate( const TOOL_EVENT& aEvent ) } // record the new items as added - editFrame->SaveCopyInUndoList( selection.items, UR_NEW ); + if( !m_editModules ) + editFrame->SaveCopyInUndoList( selection.items, UR_NEW ); editFrame->DisplayToolMsg( wxString::Format( _( "Duplicated %d item(s)" ), (int) old_items.size() ) );