Browse Source

Set LoadedAssembly.IsAutoLoaded before adding to AssemblyList

Adding LoadedAssy to list triggers events handlers that need
IsAutoLoaded.
pull/569/head
Ed Harvey 10 years ago
parent
commit
1ca36b98d7
  1. 3
      ILSpy/AssemblyList.cs
  2. 5
      ILSpy/LoadedAssembly.cs

3
ILSpy/AssemblyList.cs

@ -128,7 +128,7 @@ namespace ICSharpCode.ILSpy @@ -128,7 +128,7 @@ namespace ICSharpCode.ILSpy
/// Opens an assembly from disk.
/// Returns the existing assembly node if it is already loaded.
/// </summary>
public LoadedAssembly OpenAssembly(string file)
public LoadedAssembly OpenAssembly(string file, bool isAutoLoaded=false)
{
App.Current.Dispatcher.VerifyAccess();
@ -140,6 +140,7 @@ namespace ICSharpCode.ILSpy @@ -140,6 +140,7 @@ namespace ICSharpCode.ILSpy
}
var newAsm = new LoadedAssembly(this, file);
newAsm.IsAutoLoaded = isAutoLoaded;
lock (assemblies) {
this.assemblies.Add(newAsm);
}

5
ILSpy/LoadedAssembly.cs

@ -255,8 +255,7 @@ namespace ICSharpCode.ILSpy @@ -255,8 +255,7 @@ namespace ICSharpCode.ILSpy
file = Path.Combine(dir, name.Name + ".exe");
}
if (file != null) {
var loaded = assemblyList.OpenAssembly(file);
loaded.IsAutoLoaded = true;
var loaded = assemblyList.OpenAssembly(file, true);
return loaded;
} else {
return null;
@ -278,7 +277,7 @@ namespace ICSharpCode.ILSpy @@ -278,7 +277,7 @@ namespace ICSharpCode.ILSpy
string file = Path.Combine(Environment.SystemDirectory, "WinMetadata", name + ".winmd");
if (File.Exists(file)) {
return assemblyList.OpenAssembly(file);
return assemblyList.OpenAssembly(file, true);
} else {
return null;
}

Loading…
Cancel
Save