From f2ce87df8ef933dc3372b7d7ab8ea6e54dcd66b6 Mon Sep 17 00:00:00 2001 From: jaubourg Date: Wed, 30 Mar 2011 18:54:32 +0200 Subject: [PATCH] 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. --- src/deferred.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/deferred.js b/src/deferred.js index f0d7c08c..90f9c808 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 ) ); } }; }