diff --git a/benchmark/benchmark-suite.coffee b/benchmark/benchmark-suite.coffee index 1e833fc21..7857da039 100644 --- a/benchmark/benchmark-suite.coffee +++ b/benchmark/benchmark-suite.coffee @@ -59,7 +59,7 @@ describe "editor.", -> editor.insertText('"') editor.backspace() - describe "calculating-pixel-position.", -> + fdescribe "calculating-pixel-position.", -> line = null beforeEach -> editor.scrollTop(2000) diff --git a/src/editor.coffee b/src/editor.coffee index 7c23544b4..f5df9f6ef 100644 --- a/src/editor.coffee +++ b/src/editor.coffee @@ -9,6 +9,8 @@ fsUtils = require './fs-utils' $ = require './jquery-extensions' _ = require './underscore-extensions' +MEASURE_RANGE = document.createRange() + # Private: Represents the entire visual pane in Atom. # # The Editor manages the {EditSession}, which manages the file buffers. @@ -1563,11 +1565,9 @@ class Editor extends View break delta = nextDelta - range = document.createRange() - range.setEnd(textNode, offset) - range.collapse() - left = range.getClientRects()[0].left - Math.floor(@scrollView.offset().left) + Math.floor(@scrollLeft()) - range.detach() + MEASURE_RANGE.setEnd(textNode, offset) + MEASURE_RANGE.collapse() + left = MEASURE_RANGE.getClientRects()[0].left - Math.floor(@scrollView.offset().left) + Math.floor(@scrollLeft()) lineCache[column] = left left