@@ -204,8 +204,12 @@ type CodeLensDisplayService (view : IWpfTextView, buffer : ITextBuffer, layerNam
204204
205205member self.HandleLayoutChanged ( e : TextViewLayoutChangedEventArgs ) =
206206try
207+ // We can cancel existing stuff because the algorithm supports abortion without any data loss
208+ self.LayoutChangedCts.Cancel()
209+ self.LayoutChangedCts.Dispose()
210+ self.LayoutChangedCts<- new CancellationTokenSource()
207211let buffer = e.NewSnapshot
208- let recentVisibleLineNumbers = Set[ self.RecentLastVsblLineNmbr .. self.RecentLastVsblLineNmbr]
212+ let recentVisibleLineNumbers = Set[ self.RecentFirstVsblLineNmbr .. self.RecentLastVsblLineNmbr]
209213let firstVisibleLineNumber , lastVisibleLineNumber =
210214let first , last =
211215 view.TextViewLines.FirstVisibleLine,
@@ -260,10 +264,6 @@ type CodeLensDisplayService (view : IWpfTextView, buffer : ITextBuffer, layerNam
260264// Save the new first and last visible lines for tracking
261265 self.RecentFirstVsblLineNmbr<- firstVisibleLineNumber
262266 self.RecentLastVsblLineNmbr<- lastVisibleLineNumber
263- // We can cancel existing stuff because the algorithm supports abortion without any data loss
264- self.LayoutChangedCts.Cancel()
265- self.LayoutChangedCts.Dispose()
266- self.LayoutChangedCts<- new CancellationTokenSource()
267267
268268 self.AsyncCustomLayoutOperation visibleLineNumbers buffer
269269|> RoslynHelpers.StartAsyncSafe self.LayoutChangedCts.Token" HandleLayoutChanged"