b24e3fe29bf4118ec0dd5804d363499a11db4311 hiram Fri May 20 11:52:39 2022 -0700 correctly display all items while in dense mode or original pack mode refs #29464 diff --git src/hg/hgTracks/bigRmskTrack.c src/hg/hgTracks/bigRmskTrack.c index aa15ae3f..24817a9 100644 --- src/hg/hgTracks/bigRmskTrack.c +++ src/hg/hgTracks/bigRmskTrack.c @@ -678,31 +678,31 @@ char *p = &(class[strlen(class) - 1]); if (*p == '?') *p = '\0'; if (endsWith(class, "RNA")) safecpy(class, sizeof(class), "RNA"); // Lookup the class to get the color scheme ri = hashFindVal(classHashBR, class); if (ri == NULL) ri = hashFindVal(classHashBR, "Other"); col = ri->color; int idx = 0; for (idx = 0; idx < cr->blockCount; idx++) { - if (cr->blockRelStarts[idx] > 0) + if (cr->blockRelStarts[idx] >= 0) { int blockStart = cr->chromStart + cr->blockRelStarts[idx]; int blockEnd = cr->chromStart + cr->blockRelStarts[idx] + cr->blockSizes[idx]; x1 = roundingScale(blockStart - winStart, width, baseWidth) + xOff; x1 = max(x1, 0); x2 = roundingScale(blockEnd - winStart, width, baseWidth) + xOff; w = x2 - x1; if (w <= 0) w = 1; hvGfxBox(hvg, x1, yOff, w, heightPer, col); } @@ -722,31 +722,31 @@ Color col; int x1, x2, w; int baseWidth = seqEnd - seqStart; int heightPer = tg->heightPer; struct bigRmskRecord *cr; for (cr = tg->items; cr != NULL; cr = cr->next) { percId = 1000 - cr->score; grayLevel = grayInRange(percId, 500, 1000); col = shadesOfGray[grayLevel]; int idx = 0; for (idx = 0; idx < cr->blockCount; idx++) { - if (cr->blockRelStarts[idx] > 0) + if (cr->blockRelStarts[idx] >= 0) { int blockStart = cr->chromStart + cr->blockRelStarts[idx]; int blockEnd = cr->chromStart + cr->blockRelStarts[idx] + cr->blockSizes[idx]; x1 = roundingScale(blockStart - winStart, width, baseWidth) + xOff; x1 = max(x1, 0); x2 = roundingScale(blockEnd - winStart, width, baseWidth) + xOff; y = yOff + (cr->layoutLevel * tg->lineHeight); w = x2 - x1; if (w <= 0) w = 1; hvGfxBox(hvg, x1, y, w, heightPer, col);