Browse Source

Prevent ArgumentOutOfRangeException in XmlFoldingStrategy if .NET reports XML error at line 0.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5887 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Daniel Grunwald 15 years ago
parent
commit
f113984478
  1. 7
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/XmlFoldingStrategy.cs

7
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/XmlFoldingStrategy.cs

@ -78,8 +78,11 @@ namespace ICSharpCode.AvalonEdit.Folding @@ -78,8 +78,11 @@ namespace ICSharpCode.AvalonEdit.Folding
}
firstErrorOffset = -1;
} catch (XmlException ex) {
// ignore errors
firstErrorOffset = document.GetOffset(ex.LineNumber, ex.LinePosition);
// ignore errors at invalid positions (prevent ArgumentOutOfRangeException)
if (ex.LineNumber >= 1 && ex.LineNumber <= document.LineCount)
firstErrorOffset = document.GetOffset(ex.LineNumber, ex.LinePosition);
else
firstErrorOffset = 0;
}
foldMarkers.Sort((a,b) => a.StartOffset.CompareTo(b.StartOffset));
return foldMarkers;

Loading…
Cancel
Save