Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/main/src
diff options
context:
space:
mode:
authorDavid Karlaš <david.karlas@xamarin.com>2016-08-16 15:48:59 +0300
committerDavid Karlaš <david.karlas@xamarin.com>2016-08-16 15:48:59 +0300
commit9299e861b0488920f43eb719bd238b92bc31e704 (patch)
tree617cd2aa3baa855e929ae8d1cb96de4a2f1ff710 /main/src
parent7a1d300de4df271e340429aea2fed47996286549 (diff)
[Ide] Swallow cancelation exception since new run(one that canceled this run) will update things
Diffstat (limited to 'main/src')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ParameterInformationWindowManager.cs35
1 files changed, 18 insertions, 17 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ParameterInformationWindowManager.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ParameterInformationWindowManager.cs
index 41fb319aa2..385487aa20 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ParameterInformationWindowManager.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ParameterInformationWindowManager.cs
@@ -123,29 +123,30 @@ namespace MonoDevelop.Ide.CodeCompletion
// Called after the key has been processed by the editor
if (currentMethodGroup == null)
return;
-
+
var actualMethodGroup = new MethodData ();
actualMethodGroup.CompletionContext = widget.CurrentCodeCompletionContext;
actualMethodGroup.MethodProvider = await ext.ParameterCompletionCommand (widget.CurrentCodeCompletionContext);
- if (actualMethodGroup.MethodProvider != null && (currentMethodGroup == null || !actualMethodGroup.MethodProvider.Equals (currentMethodGroup.MethodProvider)))
+ if (actualMethodGroup.MethodProvider != null && (currentMethodGroup == null || !actualMethodGroup.MethodProvider.Equals (currentMethodGroup.MethodProvider)))
currentMethodGroup = actualMethodGroup;
-
- int pos = await ext.GetCurrentParameterIndex (currentMethodGroup.MethodProvider.StartOffset, token);
- if (pos == -1) {
- if (actualMethodGroup.MethodProvider == null) {
- currentMethodGroup = null;
- } else {
- pos = await ext.GetCurrentParameterIndex (actualMethodGroup.MethodProvider.StartOffset, token);
- currentMethodGroup = pos >= 0 ? actualMethodGroup : null;
+ try {
+ int pos = await ext.GetCurrentParameterIndex (currentMethodGroup.MethodProvider.StartOffset, token);
+ if (pos == -1) {
+ if (actualMethodGroup.MethodProvider == null) {
+ currentMethodGroup = null;
+ } else {
+ pos = await ext.GetCurrentParameterIndex (actualMethodGroup.MethodProvider.StartOffset, token);
+ currentMethodGroup = pos >= 0 ? actualMethodGroup : null;
+ }
}
- }
- // If the user enters more parameters than the current overload has,
- // look for another overload with more parameters.
- UpdateOverload (ext, widget, token);
-
- // Refresh.
- UpdateWindow (ext, widget);
+ // If the user enters more parameters than the current overload has,
+ // look for another overload with more parameters.
+ UpdateOverload (ext, widget, token);
+
+ // Refresh.
+ UpdateWindow (ext, widget);
+ } catch (OperationCanceledException) { }
}
internal static void RepositionWindow (CompletionTextEditorExtension ext, ICompletionWidget widget)