diff options
author | Lluis Sanchez <lluis@xamarin.com> | 2019-07-31 18:28:12 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-31 18:28:12 +0300 |
commit | a9c742622b1bea50ed3304c8bfcefd772e6ae215 (patch) | |
tree | e594e40e091e5805fb9e019d736df4c2d4e2cb1b /main | |
parent | 2c7111029896153ca3ba6c771cbc8efdfa9c4b5e (diff) | |
parent | 10ca3b99d33a052d5ae7b94397cc2e58bb625dc1 (diff) |
Merge pull request #8189 from mono/backport-pr-8170-to-release-8.2
[release-8.2] [C#] Fix crasher in code actions in the old editor
Diffstat (limited to 'main')
-rw-r--r-- | main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeActions/CodeActionEditorExtension.cs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeActions/CodeActionEditorExtension.cs b/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeActions/CodeActionEditorExtension.cs index e175ef29fc..73fad46ae4 100644 --- a/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeActions/CodeActionEditorExtension.cs +++ b/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeActions/CodeActionEditorExtension.cs @@ -129,11 +129,13 @@ namespace MonoDevelop.CodeActions { var loc = Editor.CaretOffset; var ad = DocumentContext.AnalysisDocument; + var workspace = ad?.Project?.Solution?.Workspace; var line = Editor.GetLine (Editor.CaretLine); - if (ad == null) { + if (ad == null || workspace == null) { return Task.FromResult (CodeActionContainer.Empty); } + TextSpan span; if (Editor.IsSomethingSelected) { var selectionRange = Editor.SelectionRange; @@ -158,7 +160,7 @@ namespace MonoDevelop.CodeActions var lineSpan = new TextSpan (line.Offset, line.Length); var fixes = await codeFixService.GetFixesAsync (ad, lineSpan, true, cancellationToken); - fixes = await Runtime.RunInMainThread(() => FilterOnUIThread (fixes, DocumentContext.RoslynWorkspace)); + fixes = await Runtime.RunInMainThread(() => FilterOnUIThread (fixes, workspace)); var refactorings = await codeRefactoringService.GetRefactoringsAsync (ad, span, cancellationToken); var codeActionContainer = new CodeActionContainer (fixes, refactorings); |