Skip to content

Commit e0d2e17

Browse files
committed
Make purging transitionData safer
1 parent 445daef commit e0d2e17

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

src/plots/plots.js

+10-6
Original file line numberDiff line numberDiff line change
@@ -1087,15 +1087,19 @@ plots.purge = function(gd) {
10871087
if(fullLayout._glcontainer !== undefined) fullLayout._glcontainer.remove();
10881088
if(fullLayout._geocontainer !== undefined) fullLayout._geocontainer.remove();
10891089

1090-
// Ensure any dangling callbacks are simply dropped if the plot is purged.
1091-
// This is more or less only actually important for testing.
1092-
gd._transitionData._interruptCallbacks.length = 0;
1093-
10941090
// remove modebar
10951091
if(fullLayout._modeBar) fullLayout._modeBar.destroy();
10961092

1097-
if(gd._transitionData && gd._transitionData._animationRaf) {
1098-
window.cancelAnimationFrame(gd._transitionData._animationRaf);
1093+
if(gd._transitionData) {
1094+
// Ensure any dangling callbacks are simply dropped if the plot is purged.
1095+
// This is more or less only actually important for testing.
1096+
if(gd._transitionData._interruptCallbacks) {
1097+
gd._transitionData._interruptCallbacks.length = 0;
1098+
}
1099+
1100+
if(gd._transitionData._animationRaf) {
1101+
window.cancelAnimationFrame(gd._transitionData._animationRaf);
1102+
}
10991103
}
11001104

11011105
// data and layout

0 commit comments

Comments
 (0)