diff --git a/src/measurement/position_measurement.js b/src/measurement/position_measurement.js index b4bcfda5bc8e264cb2df0fbfa13b81d4d0989547..0f5f398757cbd882b1dcc8afff70b063a92286e5 100644 --- a/src/measurement/position_measurement.js +++ b/src/measurement/position_measurement.js @@ -479,7 +479,7 @@ function coordsCharInner(cm, lineObj, lineNo, x, y) { steps = Math.min(steps, Math.ceil(Math.abs(diff) / diff_change_per_step)) dir = diff < 0 ? 1 : -1 } - } while (steps > 1 || ((dir < 0) != (diff < 0) && (Math.abs(diff) <= Math.abs(prevDiff)))) + } while (diff != 0 && (steps > 1 || ((dir < 0) != (diff < 0) && (Math.abs(diff) <= Math.abs(prevDiff))))) if (Math.abs(diff) > Math.abs(prevDiff)) { if ((diff < 0) == (prevDiff < 0)) throw new Error("Broke out of infinite loop in coordsCharInner") pos = prevPos