b37574e1c170d4303994ac8a3bac774e0f12f5d5 braney Wed Nov 22 17:28:28 2023 -0800 be more careful about what we do with composites when hiding all before an RTS load diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index e6df559..7c71d8f 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -352,31 +352,39 @@ if (changeVis == tdb->visibility) /* remove if setting to default vis */ cartRemove(cart, track->track); else cartSetString(cart, track->track, hStringFromTv(changeVis)); track->visibility = changeVis; } // Whether super child or not, if its a composite, then handle the children if (tdbIsComposite(tdb)) { struct track *subtrack; for (subtrack=track->subtracks;subtrack!=NULL;subtrack=subtrack->next) { if (changeVis == tvHide) // Since subtrack level vis is an + { cartRemove(cart, subtrack->track); // override, simply remove to hide + if (excludeHash != NULL) // if we're loading an RTS, but probably we should always do this + { + char selName[4096]; + safef(selName, sizeof(selName), "%s_sel", subtrack->track); + cartRemove(cart, selName); + } + } else cartSetString(cart, subtrack->track, hStringFromTv(changeVis)); subtrack->visibility = changeVis; } } } } } } slSort(&groupList, gCmpPriority); } void changeTrackVis(struct group *groupList, char *groupTarget, int changeVis) /* Change track visibilities. If groupTarget is * NULL then set visibility for tracks in all groups. Otherwise,