Author: mkrueger Date: 2008-02-18 18:35:16 -0500 (Mon, 18 Feb 2008) New Revision: 96111
Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/DefaultEditActions.cs trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/Document.cs trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/LineSegment.cs trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/Segment.cs trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs Log: * Mono.TextEditor/DefaultEditActions.cs, Mono.TextEditor/TextViewMargin.cs, Mono.TextEditor/Document.cs, Mono.TextEditor/Segment.cs, Mono.TextEditor/LineSegment.cs: Fixed some warnings. Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog =================================================================== --- trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-18 23:24:48 UTC (rev 96110) +++ trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-18 23:35:16 UTC (rev 96111) @@ -1,5 +1,11 @@ 2008-02-19 Mike Krüger <[EMAIL PROTECTED]> + * Mono.TextEditor/DefaultEditActions.cs, Mono.TextEditor/TextViewMargin.cs, + Mono.TextEditor/Document.cs, Mono.TextEditor/Segment.cs, + Mono.TextEditor/LineSegment.cs: Fixed some warnings. + +2008-02-19 Mike Krüger <[EMAIL PROTECTED]> + * Mono.TextEditor/TextEditor.cs: Fixed possible nullref. 2008-02-19 Mike Krüger <[EMAIL PROTECTED]> Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/DefaultEditActions.cs =================================================================== --- trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/DefaultEditActions.cs 2008-02-18 23:24:48 UTC (rev 96110) +++ trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/DefaultEditActions.cs 2008-02-18 23:35:16 UTC (rev 96111) @@ -912,7 +912,7 @@ public void CopyData (TextEditorData data) { - if (data.IsSomethingSelected) { + if (data.IsSomethingSelected && data.Document.Contains (data.SelectionRange)) { text = data.Document.GetTextAt (data.SelectionRange); rtf = GenerateRtf (data); } else { Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/Document.cs =================================================================== --- trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/Document.cs 2008-02-18 23:24:48 UTC (rev 96110) +++ trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/Document.cs 2008-02-18 23:35:16 UTC (rev 96111) @@ -623,6 +623,16 @@ } #endregion + public bool Contains (int offset) + { + return new Segment (0, Length).Contains (offset); + } + + public bool Contains (ISegment segment) + { + return new Segment (0, Length).Contains (segment); + } + public int VisualToLogicalLine (int visualLineNumber) { int result = visualLineNumber; Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/LineSegment.cs =================================================================== --- trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/LineSegment.cs 2008-02-18 23:24:48 UTC (rev 96110) +++ trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/LineSegment.cs 2008-02-18 23:35:16 UTC (rev 96111) @@ -191,7 +191,7 @@ } public bool Contains (ISegment segment) { - return Offset <= segment.Offset && segment.EndOffset <= EndOffset; + return segment != null && Offset <= segment.Offset && segment.EndOffset <= EndOffset; } public override string ToString () Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/Segment.cs =================================================================== --- trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/Segment.cs 2008-02-18 23:24:48 UTC (rev 96110) +++ trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/Segment.cs 2008-02-18 23:35:16 UTC (rev 96111) @@ -74,7 +74,7 @@ } public bool Contains (ISegment segment) { - return Offset <= segment.Offset && segment.EndOffset <= EndOffset; + return segment != null && Offset <= segment.Offset && segment.EndOffset <= EndOffset; } public override string ToString () Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs =================================================================== --- trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs 2008-02-18 23:24:48 UTC (rev 96110) +++ trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs 2008-02-18 23:35:16 UTC (rev 96111) @@ -471,8 +471,6 @@ public bool inSelectionDrag = false; public bool inDrag = false; public DocumentLocation clickLocation; - DocumentLocation selectionStartLocation; - ISegment minimalSelection = null; enum MouseSelectionMode { SingleChar, Word, @@ -498,22 +496,18 @@ if (type == EventType.TwoButtonPress) { int start = ScanWord (offset, false); int end = ScanWord (offset, true); - textEditor.SelectionRange = minimalSelection = new Segment (start, end - start); - selectionStartLocation = Document.OffsetToLocation (start); + textEditor.SelectionRange = new Segment (start, end - start); inSelectionDrag = true; mouseSelectionMode = MouseSelectionMode.Word; return; } else if (type == EventType.ThreeButtonPress) { - textEditor.SelectionRange = minimalSelection = Document.GetLineByOffset (offset); - selectionStartLocation = Document.OffsetToLocation (minimalSelection.Offset); + textEditor.SelectionRange = Document.GetLineByOffset (offset); inSelectionDrag = true; mouseSelectionMode = MouseSelectionMode.WholeLine; return; } mouseSelectionMode = MouseSelectionMode.SingleChar; - selectionStartLocation = clickLocation; - minimalSelection = null; if (textEditor.IsSomethingSelected && textEditor.SelectionRange.Offset <= offset && offset < textEditor.SelectionRange.EndOffset && clickLocation != textEditor.Caret.Location) { inDrag = true; } else { _______________________________________________ Mono-patches maillist - Mono-patches@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-patches