Skip to content
Permalink
Browse files

Ensuring that nulls in private data object won't cause errors on stop…

…() - Fixes #10750
  • Loading branch information...
gnarf authored and dmethvin committed Nov 11, 2011
1 parent a467aa0 commit 499d7e409c4f4d4ed255148e59552763cccf4260
Showing with 14 additions and 14 deletions.
  1. +14 −14 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 );
}
}

0 comments on commit 499d7e4

Please sign in to comment.
You can’t perform that action at this time.