From: jaubourg Date: Sat, 28 Apr 2012 20:54:13 +0000 (+0200) Subject: Simplifies the way the internal memory storage is handled. X-Git-Tag: 1.8b1~177 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=5fc8d9e454a7abdf77a7de14aac7a94af276709f;p=jquery.git Simplifies the way the internal memory storage is handled. --- diff --git a/src/callbacks.js b/src/callbacks.js index b3b1c8a69..5516d551f 100644 --- a/src/callbacks.js +++ b/src/callbacks.js @@ -60,7 +60,7 @@ jQuery.Callbacks = function( options ) { firingIndex, // Fire callbacks fire = function( data ) { - memory = !options.memory || data; + memory = options.memory && data; fired = true; firingIndex = firingStart || 0; firingStart = 0; @@ -68,7 +68,7 @@ jQuery.Callbacks = function( options ) { firing = true; for ( ; list && firingIndex < firingLength; firingIndex++ ) { if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { - memory = true; // Mark as halted + memory = false; // To prevent further calls using add break; } } @@ -78,10 +78,10 @@ jQuery.Callbacks = function( options ) { if ( stack.length ) { fire( stack.shift() ); } - } else if ( memory === true ) { - self.disable(); - } else { + } else if ( memory ) { list = []; + } else { + self.disable(); } } }, @@ -107,9 +107,8 @@ jQuery.Callbacks = function( options ) { if ( firing ) { firingLength = list.length; // With memory, if we're not firing then - // we should call right away, unless previous - // firing was halted (stopOnFalse) - } else if ( memory && memory !== true ) { + // we should call right away + } else if ( memory ) { firingStart = start; fire( memory ); } @@ -158,7 +157,7 @@ jQuery.Callbacks = function( options ) { // Lock the list in its current state lock: function() { stack = undefined; - if ( !memory || memory === true ) { + if ( !memory ) { self.disable(); } return this;