From d0d97732adfa4f32876660d1cea266ac67219139 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Mon, 16 Mar 2009 20:55:19 +0000 Subject: [PATCH] ExceptionBox: fixed potential deadlock when exception occurred on non-GUI thread. Added menu entries for "Edit > Insert > Paste as comment/string" (r3832) git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3862 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- AddIns/ICSharpCode.SharpDevelop.addin | 10 ++++++++++ .../Misc/Profiler/X64Converter/X64Converter.csproj | 1 + .../ICSharpCode.SharpDevelop.Sda/Src/ExceptionBox.cs | 7 +++---- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/AddIns/ICSharpCode.SharpDevelop.addin b/AddIns/ICSharpCode.SharpDevelop.addin index 82cec31570..c04994f441 100644 --- a/AddIns/ICSharpCode.SharpDevelop.addin +++ b/AddIns/ICSharpCode.SharpDevelop.addin @@ -1282,8 +1282,18 @@ type = "Item" loadclasslazy = "false" class = "ICSharpCode.SharpDevelop.Commands.Delete"/> + + + + + + diff --git a/src/AddIns/Misc/Profiler/X64Converter/X64Converter.csproj b/src/AddIns/Misc/Profiler/X64Converter/X64Converter.csproj index 8548e9ea10..7fb171b3b7 100644 --- a/src/AddIns/Misc/Profiler/X64Converter/X64Converter.csproj +++ b/src/AddIns/Misc/Profiler/X64Converter/X64Converter.csproj @@ -17,6 +17,7 @@ False false bin\ + ..\bin\ true diff --git a/src/Main/ICSharpCode.SharpDevelop.Sda/Src/ExceptionBox.cs b/src/Main/ICSharpCode.SharpDevelop.Sda/Src/ExceptionBox.cs index eda330c0da..137a705917 100644 --- a/src/Main/ICSharpCode.SharpDevelop.Sda/Src/ExceptionBox.cs +++ b/src/Main/ICSharpCode.SharpDevelop.Sda/Src/ExceptionBox.cs @@ -68,11 +68,10 @@ namespace ICSharpCode.SharpDevelop.Sda { try { using (ExceptionBox box = new ExceptionBox(exception, message, mustTerminate)) { - try { - box.ShowDialog(ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.MainForm); - } catch (InvalidOperationException) { + if (ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.InvokeRequired) box.ShowDialog(); - } + else + box.ShowDialog(ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.MainForm); } } catch (Exception ex) { LoggingService.Warn("Error showing ExceptionBox", ex);