🐛 Perform measurements only when editor is visible

This commit is contained in:
Antonio Scandurra
2016-09-20 15:29:31 +02:00
parent fae507d70d
commit 24f9c24d79

View File

@@ -195,6 +195,9 @@ class TextEditorComponent
becameVisible: ->
@updatesPaused = true
if @invalidateMeasurementsWhenVisible
@invalidateMeasurements()
@invalidateMeasurementsWhenVisible = false
@measureScrollbars() if @measureScrollbarsWhenShown
@sampleFontStyling()
@sampleBackgroundColors()
@@ -934,8 +937,11 @@ class TextEditorComponent
@invalidateMeasurements()
invalidateMeasurements: ->
@linesYardstick.invalidateCache()
@presenter.measurementsChanged()
if @isVisible()
@linesYardstick.invalidateCache()
@presenter.measurementsChanged()
else
@invalidateMeasurementsWhenVisible = true
screenPositionForMouseEvent: (event, linesClientRect) ->
pixelPosition = @pixelPositionForMouseEvent(event, linesClientRect)