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:
authorMike Krüger <mkrueger@xamarin.com>2013-08-19 18:34:12 +0400
committerMike Krüger <mkrueger@xamarin.com>2013-08-19 18:34:12 +0400
commita7f1d253a40cc6c4b91c82401f4be12f8cb1d567 (patch)
tree85773062e34dc7b3f4153520dd1827bb69ae63bb /main/src/core/Mono.Texteditor
parent179568a964dec467529ec413c83220d74045f2a9 (diff)
[TextEditor] Fixed text marker update bug.
Diffstat (limited to 'main/src/core/Mono.Texteditor')
-rw-r--r--main/src/core/Mono.Texteditor/Mono.TextEditor/Document/DocumentUpdateRequest.cs1
-rw-r--r--main/src/core/Mono.Texteditor/Mono.TextEditor/Document/TextDocument.cs11
2 files changed, 9 insertions, 3 deletions
diff --git a/main/src/core/Mono.Texteditor/Mono.TextEditor/Document/DocumentUpdateRequest.cs b/main/src/core/Mono.Texteditor/Mono.TextEditor/Document/DocumentUpdateRequest.cs
index 4c148b2c85..bf4ce8f02d 100644
--- a/main/src/core/Mono.Texteditor/Mono.TextEditor/Document/DocumentUpdateRequest.cs
+++ b/main/src/core/Mono.Texteditor/Mono.TextEditor/Document/DocumentUpdateRequest.cs
@@ -83,6 +83,7 @@ namespace Mono.TextEditor
public override void Update (TextEditor editor)
{
+ editor.TextViewMargin.PurgeLayoutCache ();
editor.RedrawLines (start, end);
}
}
diff --git a/main/src/core/Mono.Texteditor/Mono.TextEditor/Document/TextDocument.cs b/main/src/core/Mono.Texteditor/Mono.TextEditor/Document/TextDocument.cs
index e0ac644faf..0e4cf525d1 100644
--- a/main/src/core/Mono.Texteditor/Mono.TextEditor/Document/TextDocument.cs
+++ b/main/src/core/Mono.Texteditor/Mono.TextEditor/Document/TextDocument.cs
@@ -1376,8 +1376,10 @@ namespace Mono.TextEditor
public void AddMarker (TextSegmentMarker marker)
{
- CommitLineUpdate (GetLineByOffset (marker.Offset));
textSegmentMarkerTree.Add (marker);
+ var startLine = OffsetToLineNumber (marker.Offset);
+ var endLine = OffsetToLineNumber (marker.EndOffset);
+ CommitMultipleLineUpdate (startLine, endLine);
}
/// <summary>
@@ -1388,8 +1390,11 @@ namespace Mono.TextEditor
public bool RemoveMarker (TextSegmentMarker marker)
{
bool wasRemoved = textSegmentMarkerTree.Remove (marker);
- if (wasRemoved)
- CommitLineUpdate (GetLineByOffset (marker.Offset));
+ if (wasRemoved) {
+ var startLine = OffsetToLineNumber (marker.Offset);
+ var endLine = OffsetToLineNumber (marker.EndOffset);
+ CommitMultipleLineUpdate (startLine, endLine);
+ }
return wasRemoved;
}