From 620e87420b4381a6741c2e8e9a8d128546744ed0 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Tue, 22 Sep 2015 21:18:55 +0200 Subject: [PATCH] Allow null TextEditorComponent::domNode during visibility check * Use `atom.assert` to verify that the ctor was run before the exception. --- src/text-editor-component.coffee | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/text-editor-component.coffee b/src/text-editor-component.coffee index dbcc8fef4..f4e81cce1 100644 --- a/src/text-editor-component.coffee +++ b/src/text-editor-component.coffee @@ -34,6 +34,7 @@ class TextEditorComponent stylingChangeAnimationFrameRequested: false gutterComponent: null mounted: true + initialized: false constructor: ({@editor, @hostElement, @rootElement, @stylesElement, @useShadowDOM, tileSize}) -> @tileSize = tileSize if tileSize? @@ -102,6 +103,7 @@ class TextEditorComponent @updateSync() @checkForVisibilityChange() + @initialized = true destroy: -> @mounted = false @@ -558,7 +560,11 @@ class TextEditorComponent disposables.add(@editor.onDidDestroy(stopDragging)) isVisible: -> - @domNode.offsetHeight > 0 or @domNode.offsetWidth > 0 + # Investigating an exception that occurs here due to ::domNode being null. + atom.assert @domNode?, "TextEditorComponent::domNode was null.", (error) => + error.metadata = {@initialized} + + @domNode? and (@domNode.offsetHeight > 0 or @domNode.offsetWidth > 0) pollDOM: => unless @checkForVisibilityChange()