diff options
author | Mike Krüger <mkrueger@xamarin.com> | 2016-04-13 13:23:05 +0300 |
---|---|---|
committer | Mike Krüger <mkrueger@xamarin.com> | 2016-04-13 13:23:26 +0300 |
commit | ca9791ce7e0be1ccceecc955591b7d2006a2c12c (patch) | |
tree | 037439e6fb2d6603e78fea78eaf511fcc7dc6cca /main/src/addins/MonoDevelop.AssemblyBrowser | |
parent | 1f1f5932ecf55d47eeba35854ea6f5afd7fd8f7a (diff) |
Fixed 'Bug 40316 - [Cycle 7]User is not able to Search dll in Assembly
Browser.'
widget.CecilLoader.LoadAssembly isn.t thread safe so it needs to run
on the main thread.
Diffstat (limited to 'main/src/addins/MonoDevelop.AssemblyBrowser')
-rw-r--r-- | main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyLoader.cs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyLoader.cs b/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyLoader.cs index ff807c4658..58f80337fa 100644 --- a/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyLoader.cs +++ b/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyLoader.cs @@ -76,12 +76,14 @@ namespace MonoDevelop.AssemblyBrowser FileName = fileName; if (!File.Exists (fileName)) throw new ArgumentException ("File doesn't exist.", nameof (fileName)); - assemblyLoaderTask = Task.Run (() => { + assemblyLoaderTask = Task.Run (async () => { try { var asm = AssemblyDefinition.ReadAssembly (FileName, new ReaderParameters { AssemblyResolver = this }); - return Tuple.Create (asm, widget.CecilLoader.LoadAssembly (asm)); + var loadedAssembley = await Runtime.RunInMainThread (() => widget.CecilLoader.LoadAssembly (asm)); + + return Tuple.Create (asm, loadedAssembley); } catch (Exception e) { LoggingService.LogError ("Error while reading assembly " + FileName, e); return null; |