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:
Diffstat (limited to 'main/src')
-rw-r--r--main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/SystemAssemblyService.cs16
-rw-r--r--main/src/core/MonoDevelop.Core/MonoDevelop.Core/Runtime.cs7
-rw-r--r--main/src/tools/mdtool/src/mdtool.cs5
3 files changed, 9 insertions, 19 deletions
diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/SystemAssemblyService.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/SystemAssemblyService.cs
index d8dbf4ab10..ca8bec51a6 100644
--- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/SystemAssemblyService.cs
+++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/SystemAssemblyService.cs
@@ -55,11 +55,6 @@ namespace MonoDevelop.Core.Assemblies
internal void Initialize ()
{
- Initialize (false);
- }
-
- internal void Initialize (bool synchronous)
- {
CreateFrameworks ();
runtimes = new List<TargetRuntime> ();
foreach (ITargetRuntimeFactory factory in AddinManager.GetExtensionObjects ("/MonoDevelop/Core/Runtimes", typeof(ITargetRuntimeFactory))) {
@@ -78,10 +73,7 @@ namespace MonoDevelop.Core.Assemblies
if (CurrentRuntime == null)
LoggingService.LogFatalError ("Could not create runtime info for current runtime");
- if (synchronous)
- CurrentRuntime.EnsureInitialized ();
- else
- CurrentRuntime.StartInitialization ();
+ CurrentRuntime.StartInitialization ();
LoadUserAssemblyContext ();
userAssemblyContext.Changed += delegate {
@@ -89,6 +81,12 @@ namespace MonoDevelop.Core.Assemblies
};
}
+ void InitializeRuntime (TargetRuntime runtime)
+ {
+ runtime.Initialized += HandleRuntimeInitialized;
+ runtime.StartInitialization ();
+ }
+
void HandleRuntimeInitialized (object sender, EventArgs e)
{
var runtime = (TargetRuntime) sender;
diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core/Runtime.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core/Runtime.cs
index 9d67f10a66..5cee6fce42 100644
--- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core/Runtime.cs
+++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core/Runtime.cs
@@ -55,11 +55,6 @@ namespace MonoDevelop.Core
public static void Initialize (bool updateAddinRegistry)
{
- Initialize (updateAddinRegistry, false);
- }
-
- public static void Initialize (bool updateAddinRegistry, bool synchronousRuntimeInitialization)
- {
if (initialized)
return;
Counters.RuntimeInitialization.BeginTiming ();
@@ -119,7 +114,7 @@ namespace MonoDevelop.Core
Counters.RuntimeInitialization.Trace ("Initializing Assembly Service");
systemAssemblyService = new SystemAssemblyService ();
- systemAssemblyService.Initialize (synchronousRuntimeInitialization);
+ systemAssemblyService.Initialize ();
initialized = true;
diff --git a/main/src/tools/mdtool/src/mdtool.cs b/main/src/tools/mdtool/src/mdtool.cs
index 0ce1031224..fece250a66 100644
--- a/main/src/tools/mdtool/src/mdtool.cs
+++ b/main/src/tools/mdtool/src/mdtool.cs
@@ -40,10 +40,7 @@ public class MonoDevelopProcessHost
public static int Main (string[] args)
{
try {
- // If we are running mdtool setup reg-build we *must* ensure we do all our initialization synchronously. Otherwise we can end up
- // in a situation where some addins are trying to use Mono.Addins while we are rebuilding the registry. As you can imagine, this
- // causes all kinds of strange and unusual crashes and errors.
- Runtime.Initialize (true, true);
+ Runtime.Initialize (false);
Runtime.SetProcessName ("mdtool");
if (args.Length == 0 || args [0] == "--help") {