Showing with 12 additions and 11 deletions.
  1. +12 −11 main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.TypeSystem/MonoDevelopWorkspace.cs
@@ -216,9 +216,6 @@ Task<SolutionInfo> CreateSolutionInfo (MonoDevelop.Projects.Solution solution, C
foreach (var p in toDispose)
p.Dispose ();

projectIdMap.Clear ();
projectIdToMdProjectMap = projectIdToMdProjectMap.Clear ();
projectDataMap.Clear ();
solutionData = new SolutionData ();
List<Task> allTasks = new List<Task> ();
foreach (var proj in mdProjects) {
@@ -636,13 +633,11 @@ static bool CanGenerateAnalysisContextForNonCompileable (MonoDevelop.Projects.Pr
}
}
}
// TODO: we have seen oldProjectData being null, need to investigate
if (oldProjectData != null) {
lock (generatedFiles) {
foreach (var generatedFile in generatedFiles) {
if (generatedFile.Key.Id.ProjectId == oldProjectData.Info.Id)
documents.Add (generatedFile.Key);
}
var projectId = GetProjectId (p);
lock (generatedFiles) {
foreach (var generatedFile in generatedFiles) {
if (generatedFile.Key.Id.ProjectId == projectId)
documents.Add (generatedFile.Key);
}
}
return Tuple.Create (documents, additionalDocuments);
@@ -1533,7 +1528,13 @@ void OnProjectModified (object sender, MonoDevelop.Projects.SolutionItemModified
return;
var projectId = GetProjectId (project);
if (CurrentSolution.ContainsProject (projectId)) {
HandleActiveConfigurationChanged (this, EventArgs.Empty);
var projectInfo = LoadProject (project, CancellationToken.None, null).ContinueWith (t => {
if (t.IsFaulted) {
LoggingService.LogError ("Failed to reload project", t.Exception);
return;
}
OnProjectReloaded (t.Result);
});
} else {
modifiedProjects.Add (project);
}