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
path: root/main/src
diff options
context:
space:
mode:
authorMike Krüger <mikkrg@microsoft.com>2018-02-27 13:21:44 +0300
committerMike Krüger <mikkrg@microsoft.com>2018-02-27 13:21:44 +0300
commit9450d0176dca33f472ba750c896c2ab679843add (patch)
tree7e89b4481e0f44c0b12712124e61c75eddd93aa4 /main/src
parentcac4874ad4e7039d409d27060873f8164ea8ac49 (diff)
Fixes issue #3978 VSforMac crasses opening a Xamarin.Forms solution
https://github.com/mono/monodevelop/issues/3978
Diffstat (limited to 'main/src')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor.Extension/LineSeparatorTextEditorExtension.cs20
1 files changed, 10 insertions, 10 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor.Extension/LineSeparatorTextEditorExtension.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor.Extension/LineSeparatorTextEditorExtension.cs
index 9cef24e485..981f9c3f1d 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor.Extension/LineSeparatorTextEditorExtension.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor.Extension/LineSeparatorTextEditorExtension.cs
@@ -31,6 +31,7 @@ using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.Host;
using Microsoft.CodeAnalysis.Text;
using Microsoft.CodeAnalysis.Editor;
+using MonoDevelop.Core;
namespace MonoDevelop.Ide.Editor.Extension
{
@@ -92,16 +93,15 @@ namespace MonoDevelop.Ide.Editor.Extension
var separators = await lineSeparatorService.GetLineSeparatorsAsync (DocumentContext.AnalysisDocument, new TextSpan (0, Editor.Length), token);
if (token.IsCancellationRequested)
return;
- var newMarkers = new List<ITextLineMarker> ();
- foreach (var s in separators) {
- var line = Editor.GetLineByOffset (s.Start);
- var marker = Editor.TextMarkerFactory.CreateLineSeparatorMarker (Editor);
- Editor.AddMarker (line, marker);
- newMarkers.Add (marker);
- }
-
- RemoveMarkers ();
- markers = newMarkers;
+ await Runtime.RunInMainThread (delegate {
+ RemoveMarkers ();
+ foreach (var s in separators) {
+ var line = Editor.GetLineByOffset (s.Start);
+ var marker = Editor.TextMarkerFactory.CreateLineSeparatorMarker (Editor);
+ Editor.AddMarker (line, marker);
+ markers.Add (marker);
+ }
+ });
}
void RemoveMarkers ()