diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ServiceDoozer.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ServiceDoozer.cs index f704dafaa9..cc240839a9 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ServiceDoozer.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ServiceDoozer.cs @@ -37,6 +37,7 @@ namespace ICSharpCode.Core // Use ServiceCreatorCallback to lazily create the service container.AddService( interfaceType, delegate { + // This callback runs within the service container's lock if (serviceLoading) throw new InvalidOperationException("Found cyclic dependency when initializating " + className); serviceLoading = true; diff --git a/src/Main/SharpDevelop/Workbench/WorkbenchStartup.cs b/src/Main/SharpDevelop/Workbench/WorkbenchStartup.cs index dc037aa46c..5407630b9a 100644 --- a/src/Main/SharpDevelop/Workbench/WorkbenchStartup.cs +++ b/src/Main/SharpDevelop/Workbench/WorkbenchStartup.cs @@ -47,6 +47,7 @@ namespace ICSharpCode.SharpDevelop.Workbench UILanguageService.ValidateLanguage(); + SD.GetService(); // HACK: eagerly load output pad because pad services cannnot be instanciated from background threads TaskService.Initialize(); Project.CustomToolsService.Initialize();