From: jaubourg Date: Wed, 30 Mar 2011 16:54:32 +0000 (+0200) Subject: Fixes #8692. Strange FF4 bug: values changed onto the arguments object sometimes... X-Git-Tag: 1.5.2~9 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=f2ce87df8ef933dc3372b7d7ab8ea6e54dcd66b6;p=jquery.git Fixes #8692. Strange FF4 bug: values changed onto the arguments object sometimes end up as undefined values outside the $.when method. Cloning the object into a fresh array solves the issue. --- diff --git a/src/deferred.js b/src/deferred.js index f0d7c08c5..90f9c8089 100644 --- a/src/deferred.js +++ b/src/deferred.js @@ -144,7 +144,10 @@ jQuery.extend({ return function( value ) { args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value; if ( !( --count ) ) { - deferred.resolveWith( deferred, args ); + // Strange bug in FF4: + // Values changed onto the arguments object sometimes end up as undefined values + // outside the $.when method. Cloning the object into a fresh array solves the issue + deferred.resolveWith( deferred, sliceDeferred.call( args, 0 ) ); } }; }