From 4d63712b522e19a78459df6a6cb9dba581609270 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Thu, 29 Nov 2012 18:51:27 -0700 Subject: [PATCH] Calls to `EventEmitter#pause` and `#resume` can be nested --- src/app/event-emitter.coffee | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/app/event-emitter.coffee b/src/app/event-emitter.coffee index 53692109d..b77fe26ef 100644 --- a/src/app/event-emitter.coffee +++ b/src/app/event-emitter.coffee @@ -66,12 +66,15 @@ module.exports = @afterUnsubscribe?() if @subscriptionCount() < subscriptionCountBefore pauseEvents: -> - @queuedEvents = [] + @pauseCount ?= 0 + if @pauseCount++ == 0 + @queuedEvents ?= [] resumeEvents: -> - queuedEvents = @queuedEvents - @queuedEvents = null - @trigger(event...) for event in queuedEvents + if --@pauseCount == 0 + queuedEvents = @queuedEvents + @queuedEvents = null + @trigger(event...) for event in queuedEvents subscriptionCount: -> count = 0