File tree 1 file changed +11
-12
lines changed
1 file changed +11
-12
lines changed Original file line number Diff line number Diff line change @@ -168,20 +168,19 @@ function makeGridData(gd) {
168
168
}
169
169
170
170
function clean ( newFullData , newFullLayout , oldFullData , oldFullLayout ) {
171
- oldLoop:
172
- for ( var i = 0 ; i < oldFullData . length ; i ++ ) {
173
- var oldTrace = oldFullData [ i ] ;
174
-
175
- if ( oldTrace . type === 'splom' ) {
176
- for ( var j = 0 ; j < newFullData . length ; j ++ ) {
177
- var newTrace = newFullData [ j ] ;
171
+ var lookup = { } ;
172
+ var i ;
178
173
179
- if ( oldTrace . uid === newTrace . uid && newTrace . type === 'splom' ) {
180
- continue oldLoop;
181
- }
174
+ if ( oldFullLayout . _splomScenes ) {
175
+ for ( i = 0 ; i < newFullData . length ; i ++ ) {
176
+ var newTrace = newFullData [ i ] ;
177
+ if ( newTrace . type === 'splom' ) {
178
+ lookup [ newTrace . uid ] = 1 ;
182
179
}
183
-
184
- if ( oldFullLayout . _splomScenes ) {
180
+ }
181
+ for ( i = 0 ; i < oldFullData . length ; i ++ ) {
182
+ var oldTrace = oldFullData [ i ] ;
183
+ if ( ! lookup [ oldTrace . uid ] ) {
185
184
var scene = oldFullLayout . _splomScenes [ oldTrace . uid ] ;
186
185
if ( scene && scene . destroy ) scene . destroy ( ) ;
187
186
// must first set scene to null in order to get garbage collected
You can’t perform that action at this time.
0 commit comments