Fix corner cases related to lifecycle state of EditorComponent on events

Signed-off-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
This commit is contained in:
Nathan Sobo
2014-11-04 14:35:53 -07:00
parent 9b70cf2044
commit 100af7d27d
3 changed files with 6 additions and 2 deletions

View File

@@ -38,6 +38,9 @@ ScrollbarComponent = React.createClass
@getDOMNode().addEventListener 'scroll', @onScroll
componentWillUnmount: ->
@getDOMNode().removeEventListener 'scroll', @onScroll
shouldComponentUpdate: (newProps) ->
return true if newProps.visible isnt @props.visible

View File

@@ -435,7 +435,8 @@ TextEditorComponent = React.createClass
@refs.input.focus()
blurred: ->
@setState(focused: false)
if @isMounted()
@setState(focused: false)
onTextInput: (event) ->
event.stopPropagation()

View File

@@ -111,7 +111,7 @@ class TextEditorElement extends HTMLElement
blurred: (event) ->
unless atom.config.get('editor.useShadowDOM')
if event.relatedTarget is @component?.refs.input.getDOMNode()
if event.relatedTarget is @component?.refs.input?.getDOMNode()
event.stopImmediatePropagation()
return