f1d2ee5e0e45a31e08d56f8cc104f3c57a6d32f2 braney Thu Sep 26 14:29:52 2024 -0700 fix a couple of bugs in the 32K redraw code. diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index d281d45..e521c83 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -5124,40 +5124,41 @@ addPreFlatTrack(&preFlatTracks, track); else { boolean doHideEmpties = doHideEmptySubtracksNoMultiBed(cart, track); // If multibed was found, it has been used to suppress loading, // and subtracks lacking items in window are already set hidden for (subtrack = track->subtracks; subtrack != NULL; subtrack = subtrack->next) { if (!isSubtrackVisible(subtrack)) continue; if (!isLimitedVisHiddenForAllWindows(subtrack) && !(doHideEmpties && slCount(subtrack->items) == 0)) // Ignore subtracks with no items in window { - addPreFlatTrack(&preFlatTracks, track); + addPreFlatTrack(&preFlatTracks, subtrack); } } } } else { addPreFlatTrack(&preFlatTracks, track); } } +slReverse(&preFlatTracks); // check total height #define MAXSAFEHEIGHT "maxTrackImageHeightPx" int maxSafeHeight = atoi(cfgOptionDefault(MAXSAFEHEIGHT, "32000")); boolean safeHeight = TRUE; struct trackRef *pfRef; int tmpPixHeight = pixHeight; for(pfRef = preFlatTracks; pfRef; pfRef = pfRef->next) { struct track *pf = pfRef->track; int totalHeight = tmpPixHeight+trackPlusLabelHeight(pf,fontHeight); if (totalHeight > maxSafeHeight) { if (!forceWiggle) {