From 91804cd8caa56d9f3123c57d58faf218f061b862 Mon Sep 17 00:00:00 2001
From: Jack Reed <phillipjreed@gmail.com>
Date: Sun, 13 Jan 2019 17:24:25 -0700
Subject: [PATCH] close viewer on tile change (cleans up existing tileSources)

---
 src/components/OpenSeadragonViewer.js | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/components/OpenSeadragonViewer.js b/src/components/OpenSeadragonViewer.js
index 3709ab33b..a707af25b 100644
--- a/src/components/OpenSeadragonViewer.js
+++ b/src/components/OpenSeadragonViewer.js
@@ -38,10 +38,14 @@ class OpenSeadragonViewer extends Component {
   }
 
   /**
+   * When the tileSources change, make sure to close the OSD viewer.
    */
-  componentDidUpdate() {
+  componentDidUpdate(prevProps) {
     const { tileSources } = this.props;
-    tileSources.forEach(tileSource => this.addTileSource(tileSource));
+    if (prevProps.tileSources !== tileSources) {
+      this.viewer.close();
+      tileSources.forEach(tileSource => this.addTileSource(tileSource));
+    }
   }
 
   /**
-- 
GitLab