diff options
-rw-r--r-- | main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.Wrappers/TooltipProviderWrapper.cs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.Wrappers/TooltipProviderWrapper.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.Wrappers/TooltipProviderWrapper.cs index e3ded9d31d..2678d02fe1 100644 --- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.Wrappers/TooltipProviderWrapper.cs +++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.Wrappers/TooltipProviderWrapper.cs @@ -28,6 +28,7 @@ using System.Threading; using System.Threading.Tasks; using Mono.TextEditor; using MonoDevelop.Ide; +using MonoDevelop.Core; namespace MonoDevelop.SourceEditor.Wrappers { @@ -46,7 +47,7 @@ namespace MonoDevelop.SourceEditor.Wrappers public TooltipProviderWrapper (MonoDevelop.Ide.Editor.TooltipProvider provider) { if (provider == null) - throw new ArgumentNullException ("provider"); + throw new ArgumentNullException (nameof (provider)); this.provider = provider; } @@ -69,7 +70,12 @@ namespace MonoDevelop.SourceEditor.Wrappers var doc = IdeApp.Workbench.ActiveDocument; if (doc == null) return null; - var item = await provider.GetItem (wrappedEditor, doc, offset, token); + var task = provider.GetItem (wrappedEditor, doc, offset, token); + if (task == null) { + LoggingService.LogWarning ("Tooltip provider " + provider + " gave back null on GetItem (should always return a non null task)."); + return null; + } + var item = await task; if (item == null) return null; if (lastUnwrappedItem != null) { |