diff --git a/src/components/OpenSeadragonViewer.js b/src/components/OpenSeadragonViewer.js index 3709ab33b168ac179a9c375ab803db1fa3d09016..a707af25b8572abbb3e997e33b79bb7eb567d1eb 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)); + } } /**