470118f67c83cf4ae379c805fe29c3f1d7146790 braney Thu Feb 27 14:55:15 2020 -0800 don't add hidden collection multiwigs to list of tracks to display refs #25050 diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index 2a4db5b..a5ecf68 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -4845,62 +4845,62 @@ { orderedWiggles = slNameListFromString(wigOrder, ' '); struct slName *name = orderedWiggles; // if we're sorting, remove existing sort order for this composite for(; name; name = name->next) { char buffer[1024]; safef(buffer, sizeof buffer, "%s_imgOrd", name->name); cartRemove(cart, buffer); } } // Construct flatTracks for (track = trackList; track != NULL; track = track->next) { + if (isLimitedVisHiddenForAllWindows(track)) + continue; + if (tdbIsComposite(track->tdb)) { struct track *subtrack; if (isCompositeInAggregate(track)) flatTracksAdd(&flatTracks, track, cart, orderedWiggles); 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 { flatTracksAdd(&flatTracks,subtrack,cart, orderedWiggles); } } } } else { - if (!isLimitedVisHiddenForAllWindows(track)) - { flatTracksAdd(&flatTracks,track,cart, orderedWiggles); } } - } flatTracksSort(&flatTracks); // Now we should have a perfectly good flat track list! if (orderedWiggles) { // save order to cart struct flatTracks *ft; char buffer[4096]; int count = 1; for(ft = flatTracks; ft; ft = ft->next) { safef(buffer, sizeof buffer, "%s_imgOrd", ft->track->track); cartSetInt(cart, buffer, count++); } }