Commit 61df6486 authored by Dave Methvin's avatar Dave Methvin

Callbacks: Disabling a callback should prevent firing

Thanks to @TheDistantSea for the report!

Fixes gh-1790
Closes gh-1643
(cherry picked from commit bc1cb122db30be034b3da84ee2546c86e2a5268f)
parent faf295a6
......@@ -151,8 +151,10 @@ jQuery.Callbacks = function( options ) {
},
// Remove all callbacks from the list
empty: function() {
list = [];
firingLength = 0;
if ( list ) {
list = [];
firingLength = 0;
}
return this;
},
// Have the list do nothing anymore
......
......@@ -340,3 +340,18 @@ test( "jQuery.Callbacks() - adding a string doesn't cause a stack overflow", fun
ok( true, "no stack overflow" );
});
test( "jQuery.Callbacks() - disabled callback doesn't fire (gh-1790)", function() {
expect( 1 );
var cb = jQuery.Callbacks(),
fired = false,
shot = function() { fired = true; };
cb.disable();
cb.empty();
cb.add( shot );
cb.fire();
ok( !fired, "Disabled callback function didn't fire" );
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment