fix for #1172 (ReferenceStrip not freeing resources)

This commit is contained in:
Robert Saric 2017-04-25 21:07:37 +02:00
parent 80611e999a
commit 85e60b759b

View File

@ -178,6 +178,7 @@ $.ReferenceStrip = function ( options ) {
this.panelWidth = ( viewerSize.x * this.sizeRatio ) + 8;
this.panelHeight = ( viewerSize.y * this.sizeRatio ) + 8;
this.panels = [];
this.miniViewers = {};
/*jshint loopfunc:true*/
for ( i = 0; i < viewer.tileSources.length; i++ ) {
@ -293,6 +294,12 @@ $.extend( $.ReferenceStrip.prototype, $.EventSource.prototype, $.Viewer.prototyp
// Overrides Viewer.destroy
destroy: function() {
if (this.miniViewers) {
for (var key in this.miniViewers) {
this.miniViewers[key].destroy();
}
}
if (this.element) {
this.element.parentNode.removeChild(this.element);
}
@ -463,6 +470,8 @@ function loadPanels( strip, viewerSize, scroll ) {
miniViewer.displayRegion
);
strip.miniViewers[element.id] = miniViewer;
element.activePanel = true;
}
}