diff --git a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/LineManager/LineManager.cs b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/LineManager/LineManager.cs index d00f136b08..7fb5df872a 100644 --- a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/LineManager/LineManager.cs +++ b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/LineManager/LineManager.cs @@ -95,14 +95,15 @@ namespace ICSharpCode.TextEditor.Document // Only fire events after RemoveInternal+InsertInternal finished completely: // Otherwise we would expose inconsistent state to the event handlers. RunHighlighter(lineStart, 1 + Math.Max(0, this.TotalNumberOfLines - numberOfLinesAfterRemoving)); + if (deferredEventList.removedLines != null) { foreach (LineSegment ls in deferredEventList.removedLines) OnLineDeleted(new LineEventArgs(document, ls)); } + deferredEventList.RaiseEvents(); if (this.TotalNumberOfLines != oldNumberOfLines) { OnLineCountChanged(new LineCountChangeEventArgs(document, lineStart, this.TotalNumberOfLines - oldNumberOfLines)); } - deferredEventList.RaiseEvents(); } void RemoveInternal(ref DeferredEventList deferredEventList, int offset, int length)