diff --git a/AddIns/ICSharpCode.SharpDevelop.addin b/AddIns/ICSharpCode.SharpDevelop.addin index 015faa6fc6..0c9d9c2a90 100644 --- a/AddIns/ICSharpCode.SharpDevelop.addin +++ b/AddIns/ICSharpCode.SharpDevelop.addin @@ -714,64 +714,77 @@ - - - + + + + + + + + + + + + + + + - + - - - + + + + + + + + - + + + + + - + - - - - - - - - - - - - - - - - + + + + + + + + @@ -1225,7 +1238,7 @@ diff --git a/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormDesignerSecondaryDisplayBinding.cs b/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormDesignerSecondaryDisplayBinding.cs index 638cbf6f57..782d0b1e1b 100644 --- a/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormDesignerSecondaryDisplayBinding.cs +++ b/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormDesignerSecondaryDisplayBinding.cs @@ -60,7 +60,7 @@ namespace ICSharpCode.FormDesigner { // Simple test for fully qualified name foreach (IReturnType baseType in c.BaseTypes) { - if (baseType.Name == "System.Windows.Forms.Form" || baseType.Name == "System.Windows.Forms.UserControl") { + if (baseType.FullyQualifiedName == "System.Windows.Forms.Form" || baseType.FullyQualifiedName == "System.Windows.Forms.UserControl") { return true; } } diff --git a/src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlView.cs b/src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlView.cs index 913d205d6a..df039a480f 100644 --- a/src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlView.cs +++ b/src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlView.cs @@ -196,12 +196,31 @@ namespace ICSharpCode.XmlEditor } } + // ParserUpdateThread uses the text property via IEditable, I had an exception + // because multiple threads were accessing the GapBufferStrategy at the same time. + + string GetText() + { + return xmlEditor.Document.TextContent; + } + + void SetText(string value) + { + xmlEditor.Document.TextContent = value; + } + public string Text { get { - return xmlEditor.Document.TextContent; + if (WorkbenchSingleton.InvokeRequired) + return (string)WorkbenchSingleton.SafeThreadCall(this, "GetText", null); + else + return GetText(); } set { - xmlEditor.Document.TextContent = value; + if (WorkbenchSingleton.InvokeRequired) + WorkbenchSingleton.SafeThreadCall(this, "SetText", value); + else + SetText(value); } } diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.addin b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.addin index 7d00cee41a..00ffadce21 100644 --- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.addin +++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.addin @@ -4,7 +4,10 @@ - +