311c682d1119b11a60f0585d129c0a01f5ebf600 chmalee Mon Jun 10 10:00:26 2024 -0700 Check for undefined object member before calling string replace on it, refs #33216 diff --git src/hg/js/hgTracks.js src/hg/js/hgTracks.js index 7c73622..686db8e 100644 --- src/hg/js/hgTracks.js +++ src/hg/js/hgTracks.js @@ -712,31 +712,34 @@ }, mapClk: function () { var done = false; // if we clicked on a merged item then show all the items, similar to clicking a // dense track to turn it to pack if (!(this && this.href)) { writeToApacheLog(`no href for mapClk, this = `); } let parsedUrl = parseUrl(this.href); let cgi = parsedUrl.cgi; // for some reason, '-' characters are encoded here? unencode them so lookups into // hgTracks.trackDb will work - let id = parsedUrl.queryArgs.g.replace("%2D", "-"); + let id = ""; + if (typeof parsedUrl.queryArgs.g !== "undefined") { + id = parsedUrl.queryArgs.g.replace("%2D", "-"); + } if (parsedUrl.queryArgs.i === "mergedItem") { updateObj={}; updateObj[id+".doMergeItems"] = 0; hgTracks.trackDb[id][id+".doMergeItems"] = 0; cart.setVarsObj(updateObj,null,false); imageV2.requestImgUpdate(id, id + ".doMergeItems=0"); return false; } if (done) return false; else { // first check if we are allowed to click, we could be in the middle // of a drag select if (posting.blockUseMap === true) {