Browse Source

Avoid NullReferenceException when pasting text.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@4267 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 16 years ago
parent
commit
8a4b2018a5
  1. 2
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Document/NewLineFinder.cs
  2. 2
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Editing/EditingCommandHandler.cs

2
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Document/NewLineFinder.cs

@ -51,6 +51,8 @@ namespace ICSharpCode.AvalonEdit.Document @@ -51,6 +51,8 @@ namespace ICSharpCode.AvalonEdit.Document
/// </summary>
public static string NormalizeNewLines(string input, string newLine)
{
if (input == null)
return null;
Debug.Assert(IsNewLine(newLine));
SimpleSegment ds = NextNewLine(input, 0);
if (ds == SimpleSegment.Invalid) // text does not contain any new lines

2
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Editing/EditingCommandHandler.cs

@ -344,6 +344,7 @@ namespace ICSharpCode.AvalonEdit.Editing @@ -344,6 +344,7 @@ namespace ICSharpCode.AvalonEdit.Editing
string newLine = NewLineFinder.GetNewLineFromDocument(textArea.Document, textArea.Caret.Line);
string text = NewLineFinder.NormalizeNewLines(Clipboard.GetText(), newLine);
if (!string.IsNullOrEmpty(text)) {
bool fullLine = textArea.Options.CutCopyWholeLine && Clipboard.ContainsData(LineSelectedType);
if (fullLine) {
DocumentLine currentLine = textArea.Document.GetLineByNumber(textArea.Caret.Line);
@ -351,6 +352,7 @@ namespace ICSharpCode.AvalonEdit.Editing @@ -351,6 +352,7 @@ namespace ICSharpCode.AvalonEdit.Editing
} else {
textArea.ReplaceSelectionWithText(text);
}
}
textArea.Caret.BringCaretToView();
args.Handled = true;
}

Loading…
Cancel
Save