When diagram.Load( xmlstring) is called, the last element of diagram.Connections has correct Source and Target properties.
After layout (I believe diagram.AutoFitAsync but perhaps also diagram.BringIntoView) this last element is corrupted such that the Target property becomes null.
The corresponding Shape in diagram.Shapes also loses the corresponding IncomingLink.
So to recap, the Connections/Shapes look correct directly after Load, but then later the last element of Connections loses its Target.
Because this is the last element of the enumeration I wonder if there is some kind of weird edge case doing this.
For what its worth I've attached a Visio of the graph. The edge that goes wrong is an inbound edge from "dd" to "Attitudes 6e"
After layout (I believe diagram.AutoFitAsync but perhaps also diagram.BringIntoView) this last element is corrupted such that the Target property becomes null.
The corresponding Shape in diagram.Shapes also loses the corresponding IncomingLink.
So to recap, the Connections/Shapes look correct directly after Load, but then later the last element of Connections loses its Target.
Because this is the last element of the enumeration I wonder if there is some kind of weird edge case doing this.
For what its worth I've attached a Visio of the graph. The edge that goes wrong is an inbound edge from "dd" to "Attitudes 6e"