From 5d0452ed41b1354294ec721d2a0eebd310781dec Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Sat, 20 Dec 2008 19:50:34 +0000 Subject: [PATCH] Fixed unhandled exception thrown when opening a file that is not a .NET assembly or COM component in the Component Inspector. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3707 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Src/ObjectBrowser/ObjectBrowser.cs | 14 ++++++++++---- .../Src/ObjectBrowser/ObjectBrowserForm.cs | 13 +------------ 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/src/AddIns/Misc/ComponentInspector/ComponentInspector.Core/Src/ObjectBrowser/ObjectBrowser.cs b/src/AddIns/Misc/ComponentInspector/ComponentInspector.Core/Src/ObjectBrowser/ObjectBrowser.cs index f7bd843a5c..ad6f231e98 100644 --- a/src/AddIns/Misc/ComponentInspector/ComponentInspector.Core/Src/ObjectBrowser/ObjectBrowser.cs +++ b/src/AddIns/Misc/ComponentInspector/ComponentInspector.Core/Src/ObjectBrowser/ObjectBrowser.cs @@ -12,6 +12,7 @@ using System.IO; using System.Windows.Forms; using ICSharpCode.Core; +using NoGoop.Controls; using NoGoop.Obj; using NoGoop.ObjBrowser.GuiDesigner; using NoGoop.ObjBrowser.Panels; @@ -185,27 +186,32 @@ namespace NoGoop.ObjBrowser /// /// Tries to open the specified file into the object browser. /// - public void OpenFile(string fileName) + public bool OpenFile(string fileName) { Exception savedException = null; try { AssemblySupport.OpenFile(fileName); - return; + return true; } catch (Exception ex) { savedException = ex; } try { ComSupport.OpenFile(fileName); - return; + return true; } catch (Exception ex) { if (savedException == null) savedException = ex; } TraceUtil.WriteLineWarning(null, String.Concat("Error opening file ", fileName, ": " + savedException)); - throw savedException; + ErrorDialog.Show(savedException, + "Error opening file " + fileName + "\n\n" + + "The Inspector can only open .NET assemblies, ActiveX controls or ActiveX type libraries.", + "Error opening file " + fileName, + MessageBoxIcon.Error); + return false; } public void CloseSelectedFile() diff --git a/src/AddIns/Misc/ComponentInspector/ComponentInspector.Core/Src/ObjectBrowser/ObjectBrowserForm.cs b/src/AddIns/Misc/ComponentInspector/ComponentInspector.Core/Src/ObjectBrowser/ObjectBrowserForm.cs index 5691409aa9..12d8dee771 100644 --- a/src/AddIns/Misc/ComponentInspector/ComponentInspector.Core/Src/ObjectBrowser/ObjectBrowserForm.cs +++ b/src/AddIns/Misc/ComponentInspector/ComponentInspector.Core/Src/ObjectBrowser/ObjectBrowserForm.cs @@ -197,18 +197,7 @@ namespace NoGoop.ObjBrowser /// public bool OpenFile(string fileName) { - try { - _objectBrowser.OpenFile(fileName); - return true; - } catch (Exception ex) { - ErrorDialog.Show(ex, - "Error opening file " + fileName - + "\n\nThe Inspector can only open .NET " - + "assemblies, ActiveX controls or ActiveX type libraries.", - "Error opening file " + fileName, - MessageBoxIcon.Error); - return false; - } + return _objectBrowser.OpenFile(fileName); } void FindClick(object sender, EventArgs e)