diff --git a/eeschema/libedit_undo_redo.cpp b/eeschema/libedit_undo_redo.cpp index fa59cb5db8..1012f0e17b 100644 --- a/eeschema/libedit_undo_redo.cpp +++ b/eeschema/libedit_undo_redo.cpp @@ -51,7 +51,11 @@ void LIB_EDIT_FRAME::GetComponentFromRedoList( wxCommandEvent& event ) part = (LIB_PART*) wrapper.GetItem(); - SetCurPart( part ); + // Do not delete the previous part by calling SetCurPart( part ) + // which calls delete . + // is now put in undo list and is owned by this list + // Just set the current part to the part which come from the redo list + m_my_part = part; if( !part ) return; @@ -90,7 +94,11 @@ void LIB_EDIT_FRAME::GetComponentFromUndoList( wxCommandEvent& event ) part = (LIB_PART* ) wrapper.GetItem(); - SetCurPart( part ); + // Do not delete the previous part by calling SetCurPart( part ), + // which calls delete . + // is now put in redo list and is owned by this list. + // Just set the current part to the part which come from the undo list + m_my_part = part; if( !part ) return;