Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey Stedfast <jeff@xamarin.com>2014-06-04 21:50:18 +0400
committerJeffrey Stedfast <jeff@xamarin.com>2014-06-04 21:51:58 +0400
commit97257ca6eaa0c66eea6dfbb8e71fe6d4c79b2344 (patch)
tree64d6da3f78e7d84441126c24c976b69307d11f84 /main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Visualizer
parente8723ad81de979b5dd75aad70f85730a1a266602 (diff)
[Debugger] When fetching the value for a visualizer, always enable AllowTargetInvoke
Partial fix for bug #20341
Diffstat (limited to 'main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Visualizer')
-rw-r--r--main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Visualizer/CStringVisualizer.cs9
-rw-r--r--main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Visualizer/PixbufVisualizer.cs13
-rw-r--r--main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Visualizer/TextVisualizer.cs3
3 files changed, 17 insertions, 8 deletions
diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Visualizer/CStringVisualizer.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Visualizer/CStringVisualizer.cs
index 7da4df1746..f152492731 100644
--- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Visualizer/CStringVisualizer.cs
+++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Visualizer/CStringVisualizer.cs
@@ -83,7 +83,7 @@ namespace MonoDevelop.Debugger.Visualizer
static string ByteArrayToCString (byte[] buf)
{
- StringBuilder text = new StringBuilder ();
+ var text = new StringBuilder ();
for (int i = 0; i < buf.Length; i++)
AppendByte (text, buf[i]);
@@ -93,7 +93,7 @@ namespace MonoDevelop.Debugger.Visualizer
static string SByteArrayToCString (sbyte[] buf)
{
- StringBuilder text = new StringBuilder ();
+ var text = new StringBuilder ();
for (int i = 0; i < buf.Length; i++)
AppendByte (text, (byte) buf[i]);
@@ -141,7 +141,10 @@ namespace MonoDevelop.Debugger.Visualizer
void PopulateTextView (ObjectValue value)
{
- rawArray = value.GetRawValue () as RawValueArray;
+ var ops = DebuggingService.DebuggerSession.EvaluationOptions.Clone ();
+ ops.AllowTargetInvoke = true;
+
+ rawArray = value.GetRawValue (ops) as RawValueArray;
length = rawArray.Length;
offset = 0;
diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Visualizer/PixbufVisualizer.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Visualizer/PixbufVisualizer.cs
index 1937ffc3e1..24ee614a5e 100644
--- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Visualizer/PixbufVisualizer.cs
+++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Visualizer/PixbufVisualizer.cs
@@ -45,20 +45,25 @@ namespace MonoDevelop.Debugger.Visualizer
public override Gtk.Widget GetVisualizerWidget (ObjectValue val)
{
- Gdk.Pixbuf pixbuf;
+ var ops = DebuggingService.DebuggerSession.EvaluationOptions.Clone ();
string file = Path.GetTempFileName ();
+ Gdk.Pixbuf pixbuf;
+
+ ops.AllowTargetInvoke = true;
+
try {
- RawValue pix = (RawValue) val.GetRawValue ();
+ var pix = (RawValue) val.GetRawValue (ops);
pix.CallMethod ("Save", file, "png");
pixbuf = new Gdk.Pixbuf (file);
} finally {
File.Delete (file);
}
- Gtk.ScrolledWindow sc = new Gtk.ScrolledWindow ();
+
+ var sc = new Gtk.ScrolledWindow ();
sc.ShadowType = Gtk.ShadowType.In;
sc.HscrollbarPolicy = Gtk.PolicyType.Automatic;
sc.VscrollbarPolicy = Gtk.PolicyType.Automatic;
- Gtk.Image image = new Gtk.Image (pixbuf);
+ var image = new Gtk.Image (pixbuf);
sc.AddWithViewport (image);
sc.ShowAll ();
return sc;
diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Visualizer/TextVisualizer.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Visualizer/TextVisualizer.cs
index d0fb039ec5..cb2b881229 100644
--- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Visualizer/TextVisualizer.cs
+++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Visualizer/TextVisualizer.cs
@@ -107,6 +107,7 @@ namespace MonoDevelop.Debugger.Visualizer
void PopulateTextView (ObjectValue value)
{
var ops = DebuggingService.DebuggerSession.EvaluationOptions.Clone ();
+ ops.AllowTargetInvoke = true;
ops.ChunkRawStrings = true;
if (value.TypeName == "string") {
@@ -124,7 +125,7 @@ namespace MonoDevelop.Debugger.Visualizer
};
}
} else if (value.TypeName == "char[]") {
- rawArray = value.GetRawValue () as RawValueArray;
+ rawArray = value.GetRawValue (ops) as RawValueArray;
length = rawArray.Length;
offset = 0;