8f043bb2b786aaa418f561e33a87058bfb441295 tdreszer Fri May 23 11:55:46 2014 -0700 Fix for the (non-jshint related) bug where hiding then revisualizing a track without an intervening full page reload resultsin in an error. Redmine #13165. diff --git src/hg/js/hgTracks.js src/hg/js/hgTracks.js index 6017517..6441c44 100644 --- src/hg/js/hgTracks.js +++ src/hg/js/hgTracks.js @@ -3042,31 +3042,31 @@ updateImgForAllIds: function (response, oldJson, newJson) { // update all rows in imgTbl based upon navigateInPlace response. var imgTbl = $('#imgTbl'); // We update rows one at a time // (b/c updating the whole imgTbl at one time doesn't work in IE). var id; for (id in newJson.trackDb) { var newJsonRec = newJson.trackDb[id]; var oldJsonRec = oldJson.trackDb[id]; if (newJsonRec.visibility === 0) // hidden 'ruler' is in newJson.trackDb! continue; if (newJsonRec.type === "remote") continue; - if (oldJsonRec && oldJsonRec.visibility !== 0) { + if (oldJsonRec && oldJsonRec.visibility !== 0 && $('tr#tr_' + id).length === 1) { // New track replacing old: if (!imageV2.updateImgForId(response, id, true, newJsonRec)) warn("Couldn't parse out new image for id: " + id); } else { //if (!oldJsonRec || oldJsonRec.visibility === 0) // New track seen for the first time if (imageV2.backSupport) { $(imgTbl).append("<tr id='tr_" + id + "' abbr='0'" + // abbr gets filled in " class='imgOrd trDraggable'></tr>"); if (!imageV2.updateImgForId(response, id, true, newJsonRec)) warn("Couldn't insert new image for id: " + id); } } } if (imageV2.backSupport) { // Removes OLD: those in oldJson but not in newJson