Tooltip: Clear the tracking interval on close. Fixes #8920 -Tooltip potential setinterval endless loop.

This commit is contained in:
Scott González 2012-12-18 08:38:36 -05:00
parent 9f841dffcc
commit 9cbd4b4222

View File

@ -270,7 +270,7 @@ $.widget( "ui.tooltip", {
// as the tooltip is visible, position the tooltip using the most recent // as the tooltip is visible, position the tooltip using the most recent
// event. // event.
if ( this.options.show && this.options.show.delay ) { if ( this.options.show && this.options.show.delay ) {
delayedShow = setInterval(function() { delayedShow = this.delayedShow = setInterval(function() {
if ( tooltip.is( ":visible" ) ) { if ( tooltip.is( ":visible" ) ) {
position( positionOption.of ); position( positionOption.of );
clearInterval( delayedShow ); clearInterval( delayedShow );
@ -312,6 +312,9 @@ $.widget( "ui.tooltip", {
return; return;
} }
// Clear the interval for delayed tracking tooltips
clearInterval( this.delayedShow );
// only set title if we had one before (see comment in _open()) // only set title if we had one before (see comment in _open())
if ( target.data( "ui-tooltip-title" ) ) { if ( target.data( "ui-tooltip-title" ) ) {
target.attr( "title", target.data( "ui-tooltip-title" ) ); target.attr( "title", target.data( "ui-tooltip-title" ) );