From 95dee987cbfe3fd8c1f4b83c0936ff29f2cb0658 Mon Sep 17 00:00:00 2001 From: Quincy Morgan <2046746+quincylvania@users.noreply.github.com> Date: Mon, 14 Sep 2020 11:01:35 -0400 Subject: [PATCH] Enable the corresponding photo overlay layer when specifying a photo from that service via the URL (re: #6398) --- modules/renderer/photos.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/renderer/photos.js b/modules/renderer/photos.js index 2a406247e..ae1d9a13c 100644 --- a/modules/renderer/photos.js +++ b/modules/renderer/photos.js @@ -78,8 +78,8 @@ export function rendererPhotos(context) { if (hash.photo_overlay) { var hashOverlayIDs = hash.photo_overlay.replace(/;/g, ',').split(','); hashOverlayIDs.forEach(function(id) { - var layer = context.layers().layer(id); - if (layer) layer.enabled(true); + var layer = _layerIDs.indexOf(id) !== -1 && context.layers().layer(id); + if (layer && !layer.enabled()) layer.enabled(true); }); } if (hash.photo) { @@ -90,7 +90,12 @@ export function rendererPhotos(context) { var serviceId = results[1]; var photoKey = results[2]; var service = services[serviceId]; - if (service.ensureViewerLoaded) { + if (service && service.ensureViewerLoaded) { + + // if we're showing a photo then make sure its layer is enabled too + var layer = _layerIDs.indexOf(serviceId) !== -1 && context.layers().layer(serviceId); + if (layer && !layer.enabled()) layer.enabled(true); + service.ensureViewerLoaded(context) .then(function() { service.updateViewer(context, photoKey);