From 2a3a304410ba7d9f18be5e6e69042bb804bcd4e3 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 28 Aug 2015 12:41:58 -0600 Subject: [PATCH] Terminate drag when editor is destroyed Fixes #4562 --- src/text-editor-component.coffee | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/text-editor-component.coffee b/src/text-editor-component.coffee index 7382cebcc..fce46f35c 100644 --- a/src/text-editor-component.coffee +++ b/src/text-editor-component.coffee @@ -542,7 +542,7 @@ class TextEditorComponent dragging = false window.removeEventListener('mousemove', onMouseMove) window.removeEventListener('mouseup', onMouseUp) - willInsertTextSubscription.dispose() + disposables.dispose() autoscroll = (mouseClientPosition) => editorClientRect = @domNode.getBoundingClientRect() @@ -577,7 +577,9 @@ class TextEditorComponent window.addEventListener('mousemove', onMouseMove) window.addEventListener('mouseup', onMouseUp) - willInsertTextSubscription = @editor.onWillInsertText(onMouseUp) + disposables = new CompositeDisposable + disposables.add(@editor.onWillInsertText(onMouseUp)) + disposables.add(@editor.onDidDestroy(stopDragging)) isVisible: -> @domNode.offsetHeight > 0 or @domNode.offsetWidth > 0