From 542cdb2df9f33cda9c88791d784729af2f7419f6 Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Sat, 22 Jun 2019 21:42:35 -0400 Subject: [PATCH] Fix docRangeFromPoint sometimes not returning results If range.getClientRects() has more than 1 result, it is possible that nothing will be returned even when hovering over a valid target. --- ext/fg/js/document.js | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/ext/fg/js/document.js b/ext/fg/js/document.js index 13acb036..5dcf7b3d 100644 --- a/ext/fg/js/document.js +++ b/ext/fg/js/document.js @@ -97,18 +97,10 @@ function docRangeFromPoint(point) { if(imposter !== null) imposter.style.zIndex = -2147483646; const rects = range.getClientRects(); - - if (rects.length === 0) { - return; - } - - const rect = rects[0]; - if (point.y > rect.bottom + 2) { - return; - } - - if (range) { - return new TextSourceRange(range); + for (const rect of rects) { + if (point.y <= rect.bottom + 2) { + return new TextSourceRange(range); + } } }