From f113984478be76919b284607eb10c59cde223403 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Tue, 1 Jun 2010 13:50:54 +0000 Subject: [PATCH] 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 --- .../ICSharpCode.AvalonEdit/Folding/XmlFoldingStrategy.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/XmlFoldingStrategy.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/XmlFoldingStrategy.cs index 82562b0ddf..87123a0e6c 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/XmlFoldingStrategy.cs +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/XmlFoldingStrategy.cs @@ -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;