From 499d7e409c4f4d4ed255148e59552763cccf4260 Mon Sep 17 00:00:00 2001 From: Corey Frang Date: Fri, 11 Nov 2011 14:05:06 -0600 Subject: [PATCH] Ensuring that nulls in private data object won't cause errors on stop() - Fixes #10750 --- src/effects.js | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/effects.js b/src/effects.js index 808635d01..5c6a20bbb 100644 --- a/src/effects.js +++ b/src/effects.js @@ -264,7 +264,7 @@ jQuery.fn.extend({ } return this.each(function() { - var i, + var index, hadTimers = false, timers = jQuery.timers, data = jQuery._data( this ); @@ -274,33 +274,33 @@ jQuery.fn.extend({ jQuery._unmark( true, this ); } - function stopQueue( elem, data, i ) { - var hooks = data[ i ]; - jQuery.removeData( elem, i, true ); + function stopQueue( elem, data, index ) { + var hooks = data[ index ]; + jQuery.removeData( elem, index, true ); hooks.stop( gotoEnd ); } if ( type == null ) { - for ( i in data ) { - if ( data[ i ].stop && i.indexOf(".run") === i.length - 4 ) { - stopQueue( this, data, i ); + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && index.indexOf(".run") === index.length - 4 ) { + stopQueue( this, data, index ); } } - } else if ( data[ i = type + ".run" ] && data[ i ].stop ){ - stopQueue( this, data, i ); + } else if ( data[ index = type + ".run" ] && data[ index ].stop ){ + stopQueue( this, data, index ); } - for ( i = timers.length; i--; ) { - if ( timers[ i ].elem === this && (type == null || timers[ i ].queue === type) ) { + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) { if ( gotoEnd ) { // force the next step to be the last - timers[ i ]( true ); + timers[ index ]( true ); } else { - timers[ i ].saveState(); + timers[ index ].saveState(); } hadTimers = true; - timers.splice( i, 1 ); + timers.splice( index, 1 ); } } -- 2.39.5