diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/BackgroundGeometryBuilder.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/BackgroundGeometryBuilder.cs index b99846b025..764ed60c5a 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/BackgroundGeometryBuilder.cs +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/BackgroundGeometryBuilder.cs @@ -18,7 +18,7 @@ using ICSharpCode.AvalonEdit.Utils; namespace ICSharpCode.AvalonEdit.Gui { /// - /// Hel create a PathGeometry. + /// Helper for creating a PathGeometry. /// public sealed class BackgroundGeometryBuilder { diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/DragDropException.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/DragDropException.cs new file mode 100644 index 0000000000..28888090d8 --- /dev/null +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/DragDropException.cs @@ -0,0 +1,50 @@ +// +// +// +// +// $Revision$ +// + +using System; +using System.Runtime.Serialization; + +namespace ICSharpCode.AvalonEdit.Gui +{ + /// + /// Wraps exceptions that occur during drag'n'drop. + /// Exceptions during drag'n'drop might + /// get swallowed by WPF/COM, so AvalonEdit catches them and re-throws them later + /// wrapped in a DragDropException. + /// + [Serializable()] + public class DragDropException : Exception + { + /// + /// Creates a new DragDropException. + /// + public DragDropException() : base() + { + } + + /// + /// Creates a new DragDropException. + /// + public DragDropException(string message) : base(message) + { + } + + /// + /// Creates a new DragDropException. + /// + public DragDropException(string message, Exception innerException) : base(message, innerException) + { + } + + /// + /// Deserializes a DragDropException. + /// + protected DragDropException(SerializationInfo info, StreamingContext context) : base(info, context) + { + } + } +} diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/SelectionMouseHandler.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/SelectionMouseHandler.cs index 46b44e903a..92ace40aa1 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/SelectionMouseHandler.cs +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/SelectionMouseHandler.cs @@ -47,6 +47,7 @@ namespace ICSharpCode.AvalonEdit.Gui } } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")] void textArea_DragEnter(object sender, DragEventArgs e) { try { @@ -56,6 +57,7 @@ namespace ICSharpCode.AvalonEdit.Gui } } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")] void textArea_DragOver(object sender, DragEventArgs e) { try { @@ -92,6 +94,7 @@ namespace ICSharpCode.AvalonEdit.Gui e.Handled = true; } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")] void textArea_Drop(object sender, DragEventArgs e) { try { @@ -124,7 +127,7 @@ namespace ICSharpCode.AvalonEdit.Gui textArea.Dispatcher.BeginInvoke( DispatcherPriority.Normal, new Action(delegate { - throw new Exception("Exception during drag'n'drop", ex); + throw new DragDropException("Exception during drag'n'drop", ex); })); } diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/ICSharpCode.AvalonEdit.csproj b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/ICSharpCode.AvalonEdit.csproj index c5c8531627..ed5d8d5318 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/ICSharpCode.AvalonEdit.csproj +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/ICSharpCode.AvalonEdit.csproj @@ -117,6 +117,7 @@ IVisualLineTransformer.cs + FoldingManager.cs diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Properties/CodeAnalysisDictionary.xml b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Properties/CodeAnalysisDictionary.xml index d67b22e412..da48eea79e 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Properties/CodeAnalysisDictionary.xml +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Properties/CodeAnalysisDictionary.xml @@ -9,6 +9,7 @@ Utils Colorizer Renderer + Deletable