fcbfe2b32dd8643f1f374d8c9ec9e0b797f3dd15
tdreszer
  Mon Dec 13 13:00:59 2010 -0800
Part of redmine #1333.4 fix. Subtracks were *sometimes* not getting vis from parent on rightClick.
diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index df6350e..bb9e009 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -4043,31 +4043,33 @@
 
 /* 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))
 	    {
 	    cartSetString(cart, track->track, s);
 	    }
 	}
     if (s != NULL && !track->limitedVisSet)
 	track->visibility = hTvFromString(s);
-    if (tdbIsComposite(track->tdb) && track->visibility != tvHide)
+    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"))
 	    compositeTrackVis(track);
 	}
     }
 if (measureTiming)
     uglyTime("getTrackList");
 return trackList;
 }