From f9a634ddc293e51202e7d1ec9491b46c6c6c8780 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Srbeck=C3=BD?= Date: Sat, 16 Sep 2006 19:02:37 +0000 Subject: [PATCH] Fixed SD2-1085: Debugger throws exception trying to copy an overflowed variable value git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1809 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/Src/Service/DynamicTreeDebuggerRow.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DynamicTreeDebuggerRow.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DynamicTreeDebuggerRow.cs index 004fa653bb..09160c6d86 100644 --- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DynamicTreeDebuggerRow.cs +++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DynamicTreeDebuggerRow.cs @@ -8,6 +8,7 @@ using System; using System.Collections.Generic; using System.Drawing; +using System.Runtime.InteropServices; using System.Windows.Forms; using Debugger; using ICSharpCode.Core; @@ -122,9 +123,14 @@ namespace ICSharpCode.SharpDevelop.Services try { val.Primitive = newValue; } catch (NotSupportedException) { - string format = ResourceService.GetString("MainWindow.Windows.Debug.LocalVariables.CannotSetValue"); + string format = ResourceService.GetString("MainWindow.Windows.Debug.LocalVariables.CannotSetValue.BadFormat"); string msg = String.Format(format, newValue, val.ManagedType.ToString()); MessageService.ShowMessage(msg ,"${MainWindow.Windows.Debug.LocalVariables.CannotSetValue.Title}"); + } catch (COMException) { + // COMException (0x80131330): Cannot perfrom SetValue on non-leaf frames. + // Happens if trying to set value after exception is breaked + MessageService.ShowMessage("${MainWindow.Windows.Debug.LocalVariables.CannotSetValue.UnknownError}", + "${MainWindow.Windows.Debug.LocalVariables.CannotSetValue.Title}"); } }