Browse Source

Set LoadedAssembly.IsAutoLoaded before adding to AssemblyList

Adding LoadedAssy to list triggers events handlers that need
IsAutoLoaded.
pull/569/head
Ed Harvey 11 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
/// Opens an assembly from disk. /// Opens an assembly from disk.
/// Returns the existing assembly node if it is already loaded. /// Returns the existing assembly node if it is already loaded.
/// </summary> /// </summary>
public LoadedAssembly OpenAssembly(string file) public LoadedAssembly OpenAssembly(string file, bool isAutoLoaded=false)
{ {
App.Current.Dispatcher.VerifyAccess(); App.Current.Dispatcher.VerifyAccess();
@ -140,6 +140,7 @@ namespace ICSharpCode.ILSpy
} }
var newAsm = new LoadedAssembly(this, file); var newAsm = new LoadedAssembly(this, file);
newAsm.IsAutoLoaded = isAutoLoaded;
lock (assemblies) { lock (assemblies) {
this.assemblies.Add(newAsm); this.assemblies.Add(newAsm);
} }

5
ILSpy/LoadedAssembly.cs

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

Loading…
Cancel
Save