=== modified file 'eeschema/dialogs/dialog_edit_component_in_schematic.cpp' --- eeschema/dialogs/dialog_edit_component_in_schematic.cpp 2012-12-29 12:55:36 +0000 +++ eeschema/dialogs/dialog_edit_component_in_schematic.cpp 2013-01-17 17:40:39 +0000 @@ -223,7 +223,9 @@ } // save old cmp in undo list if not already in edit, or moving ... - if( m_Cmp->m_Flags == 0 ) + // or the component to be edited is part of a block + if( m_Cmp->m_Flags == 0 || + m_Parent->GetScreen()->m_BlockLocate.GetState() != STATE_NO_BLOCK ) m_Parent->SaveCopyInUndoList( m_Cmp, UR_CHANGED ); copyPanelToOptions(); === modified file 'eeschema/dialogs/dialog_edit_label.cpp' --- eeschema/dialogs/dialog_edit_label.cpp 2012-10-13 18:33:58 +0000 +++ eeschema/dialogs/dialog_edit_label.cpp 2013-01-17 17:40:39 +0000 @@ -247,7 +247,9 @@ int value; /* save old text in undo list if not already in edit */ - if( m_CurrentText->GetFlags() == 0 ) + /* or the label to be edited is part of a block */ + if( m_CurrentText->GetFlags() == 0 || + m_Parent->GetScreen()->m_BlockLocate.GetState() != STATE_NO_BLOCK ) m_Parent->SaveCopyInUndoList( m_CurrentText, UR_CHANGED ); m_Parent->GetCanvas()->RefreshDrawingRect( m_CurrentText->GetBoundingBox() ); === modified file 'eeschema/edit_bitmap.cpp' --- eeschema/edit_bitmap.cpp 2012-12-21 18:57:56 +0000 +++ eeschema/edit_bitmap.cpp 2013-01-17 17:40:39 +0000 @@ -187,7 +187,10 @@ if( dlg.ShowModal() != wxID_OK ) return; - if( aItem->GetFlags( ) == 0 ) + // save old image in undo list if not already in edit + // or the image to be edited is part of a block + if( aItem->GetFlags() == 0 || + GetScreen()->m_BlockLocate.GetState() != STATE_NO_BLOCK ) SaveCopyInUndoList( aItem, UR_CHANGED ); dlg.TransfertToImage(aItem->m_Image);