Browse Source

Fixed exception when "Find references" finds a result in unsaved Designer.cs file.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3657 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 17 years ago
parent
commit
707294326e
  1. 4
      src/Main/Base/Project/Src/Gui/Pads/SearchResultPad/SearchResultMatch.cs
  2. 13
      src/Main/Base/Project/Src/Services/RefactoringService/FindReferencesAndRenameHelper.cs

4
src/Main/Base/Project/Src/Gui/Pads/SearchResultPad/SearchResultMatch.cs

@ -64,12 +64,12 @@ namespace SearchAndReplace @@ -64,12 +64,12 @@ namespace SearchAndReplace
public virtual TextLocation GetStartPosition(IDocument document)
{
return document.OffsetToPosition(Offset);
return document.OffsetToPosition(Math.Min(Offset, document.TextLength));
}
public virtual TextLocation GetEndPosition(IDocument document)
{
return document.OffsetToPosition(Offset + Length);
return document.OffsetToPosition(Math.Min(Offset + Length, document.TextLength));
}
/// <summary>

13
src/Main/Base/Project/Src/Services/RefactoringService/FindReferencesAndRenameHelper.cs

@ -243,11 +243,14 @@ namespace ICSharpCode.SharpDevelop.Refactoring @@ -243,11 +243,14 @@ namespace ICSharpCode.SharpDevelop.Refactoring
#region Common helper functions
public static ProvidedDocumentInformation GetDocumentInformation(string fileName)
{
foreach (IViewContent content in WorkbenchSingleton.Workbench.ViewContentCollection) {
if (content is ITextEditorControlProvider &&
FileUtility.IsEqualFileName(content.PrimaryFileName, fileName))
{
return new ProvidedDocumentInformation(((ITextEditorControlProvider)content).TextEditorControl.Document, fileName, 0);
OpenedFile file = FileService.GetOpenedFile(fileName);
if (file != null) {
IFileDocumentProvider documentProvider = file.CurrentView as IFileDocumentProvider;
if (documentProvider != null) {
IDocument document = documentProvider.GetDocumentForFile(file);
if (document != null) {
return new ProvidedDocumentInformation(document, fileName, 0);
}
}
}
ITextBufferStrategy strategy = StringTextBufferStrategy.CreateTextBufferFromFile(fileName);

Loading…
Cancel
Save