Commit 2bfed054 authored by Tebjan Halm's avatar Tebjan Halm
Browse files

don't add subtree of a document to parent document and small performance improvement

parent cf4a475b
...@@ -81,14 +81,18 @@ namespace Svg ...@@ -81,14 +81,18 @@ namespace Svg
{ {
if (!this._mock) if (!this._mock)
{ {
if (this._owner.OwnerDocument != null) if (this._owner.OwnerDocument != null)
{ {
this._owner.OwnerDocument.IdManager.AddAndFixID(item, autoFixID, logElementOldIDNewID); this._owner.OwnerDocument.IdManager.AddAndFixID(item, autoFixID, logElementOldIDNewID);
foreach (var child in item.Children)
{ if(!(item is SvgDocument)) //don't add subtree of a document to parent document
child.ApplyRecursive(e => this._owner.OwnerDocument.IdManager.AddAndFixID(e, autoFixChildrenID, logElementOldIDNewID)); {
} foreach (var child in item.Children)
} {
child.ApplyRecursive(e => this._owner.OwnerDocument.IdManager.AddAndFixID(e, autoFixChildrenID, logElementOldIDNewID));
}
}
}
item._parent = this._owner; item._parent = this._owner;
} }
......
...@@ -57,10 +57,12 @@ namespace Svg ...@@ -57,10 +57,12 @@ namespace Svg
{ {
action(elem); action(elem);
foreach (var element in elem.Children) if(!(elem is SvgDocument)) //don't apply action to subtree of documents
{ {
if(!(elem is SvgDocument)) foreach (var element in elem.Children)
{
element.ApplyRecursive(action); element.ApplyRecursive(action);
}
} }
} }
} }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment