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
diff options
context:
space:
mode:
authorMike Krüger <mkrueger@xamarin.com>2017-05-03 18:35:45 +0300
committerMarius Ungureanu <teromario@yahoo.com>2017-05-03 18:35:45 +0300
commit6c11fae46bf6e426abfff84ca2cd3cf1d085db7b (patch)
tree36718e0f7bc6dedde31c1fc5e27801493c6c45dd /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui
parent844a280156e6510fb015025d5545976a1d2b5588 (diff)
[Ide] Prevent reparse overflow. (#2338)
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Document.cs13
1 files changed, 9 insertions, 4 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Document.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Document.cs
index 15160413e4..ec73d08efb 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Document.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Document.cs
@@ -904,7 +904,7 @@ namespace MonoDevelop.Ide.Gui
{
var ws = RoslynWorkspace as MonoDevelopWorkspace;
if (ws != null) {
- ws.WorkspaceChanged -= HandleRoslynProjectReload;
+ ws.WorkspaceChanged -= HandleRoslynProjectChange;
}
}
@@ -912,13 +912,18 @@ namespace MonoDevelop.Ide.Gui
{
var ws = RoslynWorkspace as MonoDevelopWorkspace;
if (ws != null) {
- ws.WorkspaceChanged += HandleRoslynProjectReload;
+ ws.WorkspaceChanged += HandleRoslynProjectChange;
}
}
- void HandleRoslynProjectReload (object sender, Microsoft.CodeAnalysis.WorkspaceChangeEventArgs e)
+ void HandleRoslynProjectChange (object sender, Microsoft.CodeAnalysis.WorkspaceChangeEventArgs e)
{
- StartReparseThread ();
+ if (e.Kind == Microsoft.CodeAnalysis.WorkspaceChangeKind.ProjectChanged ||
+ e.Kind == Microsoft.CodeAnalysis.WorkspaceChangeKind.ProjectAdded ||
+ e.Kind == Microsoft.CodeAnalysis.WorkspaceChangeKind.ProjectRemoved ||
+ e.Kind == Microsoft.CodeAnalysis.WorkspaceChangeKind.ProjectReloaded) {
+ StartReparseThread ();
+ }
}
bool IsUnreferencedSharedProject (Project project)