Read Altium's showName property for fields.

Also fixes a potential crash bug in schematic
cleanup when breaking lines that are part of a
group.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20985
This commit is contained in:
Jeff Young 2025-05-31 21:30:00 +01:00
parent 70d8050002
commit 65dfee161b
2 changed files with 2 additions and 1 deletions

View File

@ -4389,6 +4389,7 @@ void SCH_IO_ALTIUM::ParseParameter( const std::map<wxString, wxString>& aPropert
field->SetText( kicadText ); field->SetText( kicadText );
field->SetPosition( elem.location + m_sheetOffset ); field->SetPosition( elem.location + m_sheetOffset );
field->SetVisible( !elem.isHidden ); field->SetVisible( !elem.isHidden );
field->SetNameShown( elem.isShowName );
SetTextPositioning( field, elem.justification, elem.orientation ); SetTextPositioning( field, elem.justification, elem.orientation );
} }
} }

View File

@ -545,7 +545,7 @@ SCH_LINE* SCH_LINE::MergeOverlap( SCH_SCREEN* aScreen, SCH_LINE* aLine, bool aCh
SCH_LINE* SCH_LINE::BreakAt( SCH_COMMIT* aCommit, const VECTOR2I& aPoint ) SCH_LINE* SCH_LINE::BreakAt( SCH_COMMIT* aCommit, const VECTOR2I& aPoint )
{ {
SCH_LINE* newSegment = static_cast<SCH_LINE*>( Duplicate( aCommit ) ); SCH_LINE* newSegment = static_cast<SCH_LINE*>( Duplicate( true, aCommit ) );
newSegment->SetStartPoint( aPoint ); newSegment->SetStartPoint( aPoint );
newSegment->SetConnectivityDirty( true ); newSegment->SetConnectivityDirty( true );