diff --git a/src/AddIns/Misc/SearchAndReplace/Project/Engine/Search.cs b/src/AddIns/Misc/SearchAndReplace/Project/Engine/Search.cs index 111e42d2c4..4e1f20345c 100644 --- a/src/AddIns/Misc/SearchAndReplace/Project/Engine/Search.cs +++ b/src/AddIns/Misc/SearchAndReplace/Project/Engine/Search.cs @@ -145,7 +145,7 @@ namespace SearchAndReplace if (documentIterator.MoveForward()) { info = documentIterator.Current; // document is valid for searching -> set iterator & fileName - if (info != null && info.EndOffset >= 0 && info.EndOffset <= info.Document.TextLength) { + if (info != null && info.EndOffset >= 0 && info.EndOffset < info.Document.TextLength) { textIterator = textIteratorBuilder.BuildTextIterator(info); } else { textIterator = null; diff --git a/src/AddIns/Misc/SearchAndReplace/Project/Gui/SearchAndReplacePanel.cs b/src/AddIns/Misc/SearchAndReplace/Project/Gui/SearchAndReplacePanel.cs index 811e3140a3..e1391c19b1 100644 --- a/src/AddIns/Misc/SearchAndReplace/Project/Gui/SearchAndReplacePanel.cs +++ b/src/AddIns/Misc/SearchAndReplace/Project/Gui/SearchAndReplacePanel.cs @@ -432,8 +432,7 @@ namespace SearchAndReplace SearchReplaceManager.MarkAll(startOffset, endOffset - startOffset, monitor); else if (action == 2) SearchReplaceManager.ReplaceAll(startOffset, endOffset - startOffset, monitor); - - textEditor.Select(startOffset, textEditor.SelectionLength); + textEditor.Select(startOffset, endOffset - startOffset); } finally { ignoreSelectionChanges = false; } diff --git a/src/Main/Base/Project/Src/Editor/Search/ProvidedDocumentInformation.cs b/src/Main/Base/Project/Src/Editor/Search/ProvidedDocumentInformation.cs index a548d9fcf4..0325d8133e 100644 --- a/src/Main/Base/Project/Src/Editor/Search/ProvidedDocumentInformation.cs +++ b/src/Main/Base/Project/Src/Editor/Search/ProvidedDocumentInformation.cs @@ -40,12 +40,9 @@ namespace ICSharpCode.SharpDevelop.Editor.Search } public int CurrentOffset { - get { + get { if (textEditor != null) { - if (textEditor.SelectionLength > 0) - currentOffset = textEditor.SelectionStart; - else - currentOffset = textEditor.Caret.Offset; + return textEditor.Caret.Offset; } return currentOffset; }