if (!theDestination.FindAttribute(anAttrIter.Value()->ID(), aTargetAttr)) {
// create a new attribute if not yet exists in the destination
aTargetAttr = anAttrIter.Value()->NewEmpty();
+ if (aTargetAttr->ID() != anAttrIter.Value()->ID())
+ aTargetAttr->SetID(anAttrIter.Value()->ID());
theDestination.AddAttribute(aTargetAttr);
}
// for named shape copy exact shapes (in NamedShape Paste method the CopyTool is used)
if (!theDestination.FindAttribute(anAttrIter.Value()->ID(), aTargetAttr)) {
// create a new attribute if not yet exists in the destination
aTargetAttr = anAttrIter.Value()->NewEmpty();
+ if (aTargetAttr->ID() != anAttrIter.Value()->ID())
+ aTargetAttr->SetID(anAttrIter.Value()->ID());
theDestination.AddAttribute(aTargetAttr);
}
// no special relocation, empty map, but self-relocation is on: copy references w/o changes
if (!theDestination.FindAttribute(anAttrIter.Value()->ID(), aTargetAttr)) {
// create a new attribute if not yet exists in the destination
aTargetAttr = anAttrIter.Value()->NewEmpty();
+ if (aTargetAttr->ID() != anAttrIter.Value()->ID())
+ aTargetAttr->SetID(anAttrIter.Value()->ID());
theDestination.AddAttribute(aTargetAttr);
}
anAttrIter.Value()->Paste(aTargetAttr, theRelocTable);