diff --git a/eeschema/bus-wire-junction.cpp b/eeschema/bus-wire-junction.cpp index eb76b29d36..6201f28243 100644 --- a/eeschema/bus-wire-junction.cpp +++ b/eeschema/bus-wire-junction.cpp @@ -309,6 +309,9 @@ bool SCH_EDIT_FRAME::BreakSegment( SCH_LINE* aSegment, const VECTOR2I& aPoint, SaveCopyInUndoList( aScreen, newSegment, UNDO_REDO::NEWITEM, true ); SaveCopyInUndoList( aScreen, aSegment, UNDO_REDO::CHANGED, true ); + aSegment->SetFlags( IS_CHANGED ); + newSegment->SetFlags( IS_NEW ); + UpdateItem( aSegment, false, true ); aSegment->SetEndPoint( aPoint ); diff --git a/eeschema/tools/sch_move_tool.cpp b/eeschema/tools/sch_move_tool.cpp index f6ba15e55e..f7e836b7be 100644 --- a/eeschema/tools/sch_move_tool.cpp +++ b/eeschema/tools/sch_move_tool.cpp @@ -934,7 +934,8 @@ void SCH_MOVE_TOOL::trimDanglingLines() // Find split segments (one segment is new, the other is changed) that // we aren't dragging and don't have selected if( aChangedItem->IsDangling() && !aChangedItem->IsSelected() - && ( aChangedItem->IsNew() || !aChangedItem->IsDragging() ) + && ( aChangedItem->IsNew() + || ( !aChangedItem->IsDragging() && aChangedItem->IsModified() ) ) && aChangedItem->IsType( { SCH_LINE_T } ) ) { danglers.insert( aChangedItem );