From 5921d359c83a4149680265a9358172fe7e52b33d Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Mon, 4 Nov 2019 15:08:21 +0000 Subject: [PATCH] fix hit testing skia formatted text. --- src/Skia/Avalonia.Skia/FormattedTextImpl.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Skia/Avalonia.Skia/FormattedTextImpl.cs b/src/Skia/Avalonia.Skia/FormattedTextImpl.cs index eb7b65cdce..718d10a694 100644 --- a/src/Skia/Avalonia.Skia/FormattedTextImpl.cs +++ b/src/Skia/Avalonia.Skia/FormattedTextImpl.cs @@ -99,9 +99,17 @@ namespace Avalonia.Skia public TextHitTestResult HitTestPoint(Point point) { float y = (float)point.Y; - var line = _skiaLines.Find(l => l.Top <= y && (l.Top + l.Height) > y); - if (!line.Equals(default(AvaloniaFormattedTextLine))) + AvaloniaFormattedTextLine line = default; + + int i = 0; + + while(_skiaLines[i].Top < y && i < _skiaLines.Count) + { + line = _skiaLines[i++]; + } + + if (!line.Equals(default)) { var rects = GetRects();