From f3b92e0562cceb50480d4074896d77782f7bf5c2 Mon Sep 17 00:00:00 2001 From: Tom Date: Thu, 15 Aug 2024 17:51:06 -0400 Subject: [PATCH] remove resize handler when webgl drawer is destroyed --- src/webgldrawer.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/webgldrawer.js b/src/webgldrawer.js index ed1f30ab..cf489661 100644 --- a/src/webgldrawer.js +++ b/src/webgldrawer.js @@ -160,6 +160,7 @@ // unbind our event listeners from the viewer this.viewer.removeHandler("tile-ready", this._boundToTileReady); this.viewer.removeHandler("image-unloaded", this._boundToImageUnloaded); + this.viewer.removeHandler("resize", this._resizeHandler); // set our webgl context reference to null to enable garbage collection this._gl = null; @@ -839,8 +840,7 @@ this._gl = this._renderingCanvas.getContext('webgl'); - //make the additional canvas elements mirror size changes to the output canvas - this.viewer.addHandler("resize", function(){ + this._resizeHandler = function(){ if(_this._outputCanvas !== _this.viewer.drawer.canvas){ _this._outputCanvas.style.width = _this.viewer.drawer.canvas.clientWidth + 'px'; @@ -861,7 +861,10 @@ // important - update the size of the rendering viewport! _this._resizeRenderer(); - }); + }; + + //make the additional canvas elements mirror size changes to the output canvas + this.viewer.addHandler("resize", this._resizeHandler); } // private