bc48a95c9c4d61224cb8b46b556834a3ea7e08ff braney Mon May 18 16:09:18 2015 -0700 if hideTracks is on the command line, set the visibilities of the other tracks based on URL even if they are the default visibilities in trackDb refs #15299 diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index 2277e7f..5674e52 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -3910,32 +3910,35 @@ loadTrackHubs(&trackList, &grpList); } loadCustomTracks(&trackList); groupTracks( &trackList, pGroupList, grpList, vis); setSearchedTrackToPackOrFull(trackList); if (cgiOptionalString( "hideTracks")) changeTrackVis(groupList, NULL, tvHide); /* Get visibility values if any from ui. */ for (track = trackList; track != NULL; track = track->next) { char *s = cartOptionalString(cart, track->track); if (cgiOptionalString("hideTracks")) { s = cgiOptionalString(track->track); - if (s != NULL && (hTvFromString(s) != track->tdb->visibility)) + if (s != NULL) { + if (hTvFromString(s) == track->tdb->visibility) + cartRemove(cart, track->track); + else cartSetString(cart, track->track, s); } } if (s != NULL && !track->limitedVisSet) track->visibility = hTvFromString(s); if (tdbIsCompositeChild(track->tdb)) track->visibility = tdbVisLimitedByAncestry(cart, track->tdb, FALSE); else if (tdbIsComposite(track->tdb) && track->visibility != tvHide) { struct trackDb *parent = track->tdb->parent; char *parentShow = NULL; if (parent) parentShow = cartUsualString(cart, parent->track, parent->isShow ? "show" : "hide"); if (!parent || sameString(parentShow, "show"))