8d83056073da90aad4a8fa216c8e92112c8ea0ea chmalee Tue Aug 3 11:34:28 2021 -0700 Fixing overzealous decrement in highlight parsing, refs #27891 diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index a1cf461..228fa66 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -2199,31 +2199,36 @@ h->chrom = cloneNextWordByDelimiter(&oneHl,':'); chromStart = cloneNextWordByDelimiter(&oneHl,'-'); chromEnd = cloneNextWordByDelimiter(&oneHl,'#'); if (oneHl && *oneHl != '\0') h->hexColor = cloneString(oneHl); } if (!isEmpty(chromStart) && !isEmpty(chromEnd) && isNumericString(chromStart) && isNumericString(chromEnd) && !isEmpty(h->db) && !isEmpty(h->chrom)) { // long to handle virt chrom coordinates h->chromStart = atol(chromStart); h->chromEnd = atol(chromEnd); - h->chromStart--; // Not zero based + // Typically not zero based, unless we have previously saved the highlight + // as a result of the multi-region code + if (h->chromStart > 0) + { + h->chromStart--; + } slAddHead(&hlList, h); } } slReverse(&hlList); } return hlList; } static void highlightRegions(struct cart *cart, struct hvGfx *hvg, int imagePixelHeight) // Highlights regions in the image. Only done if theImgBox is not defined. // Thus it is done for ps/pdf and view image but the hgTracks image is highlighted via js { struct highlightVar *hlList = parseHighlightInfo();