🐛 Fix race condition as well

This commit is contained in:
Antonio Scandurra 2015-06-17 13:48:31 +02:00
parent b0d93accf7
commit b04b0a8dc4
2 changed files with 10 additions and 1 deletions

View File

@ -67,6 +67,15 @@ describe "TextEditorComponent", ->
expect(nextAnimationFrame).not.toThrow()
it "doesn't update when an animation frame was requested but the component got destroyed before its delivery", ->
editor.setText("You shouldn't see this update.")
expect(nextAnimationFrame).not.toBe(noAnimationFrame)
component.destroy()
nextAnimationFrame()
expect(component.lineNodeForScreenRow(0).textContent).not.toBe("You shouldn't see this update.")
describe "line rendering", ->
expectTileContainsRow = (tileNode, screenRow, {top}) ->
lineNode = tileNode.querySelector("[data-screen-row='#{screenRow}']")

View File

@ -195,7 +195,7 @@ class TextEditorComponent
@updateRequested = true
atom.views.updateDocument =>
@updateRequested = false
@updateSync() if @editor.isAlive()
@updateSync() if @canUpdate()
atom.views.readDocument(@readAfterUpdateSync)
canUpdate: ->