diff --git a/core/code/portal_detail_display.js b/core/code/portal_detail_display.js index 640624249..14089f8e9 100644 --- a/core/code/portal_detail_display.js +++ b/core/code/portal_detail_display.js @@ -9,8 +9,9 @@ window.resetScrollOnNewPortal = function() { } }; -window.renderPortalDetails = function(guid, dontSelect) { - if (!dontSelect) selectPortal(window.portals[guid] ? guid : null, 'renderPortalDetails'); +window.renderPortalDetails = function(guid, forceSelect) { + if (forceSelect || selectedPortal !== guid) + selectPortal(window.portals[guid] ? guid : null, 'renderPortalDetails'); if ($('#sidebar').is(':visible')) { window.resetScrollOnNewPortal(); window.renderPortalDetails.lastVisible = guid; diff --git a/core/code/portal_marker.js b/core/code/portal_marker.js index f8c6c45fa..c08b08d60 100644 --- a/core/code/portal_marker.js +++ b/core/code/portal_marker.js @@ -11,16 +11,16 @@ var portalBaseStyle = { // portal hooks function handler_portal_click (e) { window.selectPortal(e.target.options.guid, e.type); - window.renderPortalDetails(e.target.options.guid, true) + window.renderPortalDetails(e.target.options.guid) } function handler_portal_dblclick (e) { window.selectPortal(e.target.options.guid, e.type); - window.renderPortalDetails(e.target.options.guid, true) + window.renderPortalDetails(e.target.options.guid) window.map.setView(e.target.getLatLng(), DEFAULT_ZOOM); } function handler_portal_contextmenu (e) { window.selectPortal(e.target.options.guid, e.type); - window.renderPortalDetails(e.target.options.guid, true) + window.renderPortalDetails(e.target.options.guid) if (window.isSmartphone()) { window.show('info'); } else if (!$('#scrollwrapper').is(':visible')) { @@ -135,7 +135,7 @@ L.PortalMarker = L.CircleMarker.extend({ renderDetails() { if (!this._rendering) { this._rendering = true; - renderPortalDetails(this._details.guid, true); + renderPortalDetails(this._details.guid); this._rendering = false; } },