From b149d47b09a3695643725bda4409f8fa2352b84a Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Sat, 11 Oct 2014 07:25:28 -0700 Subject: [PATCH] Dispose of subscriptions on SpacePen views in callRemoveHooks Fixes atom/bracket-matcher#75 --- package.json | 2 +- src/space-pen-extensions.coffee | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 774ee890b..e45d5e003 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "season": "^1.0.2", "semver": "1.1.4", "serializable": "^1", - "space-pen": "3.7.0", + "space-pen": "3.8.0", "temp": "0.7.0", "text-buffer": "^3.2.8", "theorist": "^1.0.2", diff --git a/src/space-pen-extensions.coffee b/src/space-pen-extensions.coffee index c108d14eb..ec3c1a7a2 100644 --- a/src/space-pen-extensions.coffee +++ b/src/space-pen-extensions.coffee @@ -1,15 +1,20 @@ _ = require 'underscore-plus' -spacePen = require 'space-pen' +SpacePen = require 'space-pen' {Subscriber} = require 'emissary' -Subscriber.includeInto(spacePen.View) +Subscriber.includeInto(SpacePen.View) -jQuery = spacePen.jQuery +jQuery = SpacePen.jQuery JQueryCleanData = jQuery.cleanData jQuery.cleanData = (elements) -> jQuery(element).view()?.unsubscribe() for element in elements JQueryCleanData(elements) +SpacePenCallRemoveHooks = SpacePen.callRemoveHooks +SpacePen.callRemoveHooks = (element) -> + view.unsubscribe() for view in SpacePen.viewsForElement(element) + SpacePenCallRemoveHooks(element) + NativeEventNames = new Set NativeEventNames.add(nativeEvent) for nativeEvent in ["blur", "focus", "focusin", "focusout", "load", "resize", "scroll", "unload", "click", "dblclick", "mousedown", @@ -133,4 +138,4 @@ jQuery.fn.setTooltip.humanizeKeystrokes = humanizeKeystrokes Object.defineProperty jQuery.fn, 'element', get: -> @[0] -module.exports = spacePen +module.exports = SpacePen