Fixes #10952 by introducing a real fired flag in the Callbacks closure.

jQuery Size - compared to last make
  250235    (+69) jquery.js
   94225     (+7) jquery.min.js
   33445     (+3) jquery.min.js.gz
This commit is contained in:
jaubourg 2012-01-31 02:31:22 +01:00
parent 6eba066573
commit eefead3d96

View File

@ -48,6 +48,8 @@ jQuery.Callbacks = function( flags ) {
stack = [], stack = [],
// Last fire value (for non-forgettable lists) // Last fire value (for non-forgettable lists)
memory, memory,
// Flag to know if list was already fired
fired,
// Flag to know if list is currently firing // Flag to know if list is currently firing
firing, firing,
// First callback to fire (used internally by add and fireWith) // First callback to fire (used internally by add and fireWith)
@ -81,6 +83,7 @@ jQuery.Callbacks = function( flags ) {
fire = function( context, args ) { fire = function( context, args ) {
args = args || []; args = args || [];
memory = !flags.memory || [ context, args ]; memory = !flags.memory || [ context, args ];
fired = true;
firing = true; firing = true;
firingIndex = firingStart || 0; firingIndex = firingStart || 0;
firingStart = 0; firingStart = 0;
@ -216,7 +219,7 @@ jQuery.Callbacks = function( flags ) {
}, },
// To know if the callbacks have already been called at least once // To know if the callbacks have already been called at least once
fired: function() { fired: function() {
return !!memory; return !!fired;
} }
}; };