0df0c2e42e35fdd326f246ac263734c12344215a
tdreszer
  Tue Nov 9 15:54:34 2010 -0800
Had to change tdbVisLimitedByAncestors, because it didn't handle subtracks where view or composite was not at default vis
diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index 00d7072..37bf0b3 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -6762,31 +6762,31 @@
 return vis;
 }
 
 enum trackVisibility tdbVisLimitedByAncestors(struct cart *cart, struct trackDb *tdb, boolean checkBoxToo, boolean foldersToo)
 // returns visibility limited by ancestry.  This includes subtrack vis override and parents limit maximum.
 // cart may be null, in which case, only trackDb settings (default state) are examined
 // checkBoxToo means ensure subtrack checkbox state is visible
 // foldersToo means limit by folders (aka superTracks) as well.
 {
 boolean subtrackOverride = FALSE;
 enum trackVisibility vis = tdbLocalVisibility(cart,tdb,&subtrackOverride);
 if (subtrackOverride)
     return vis;
 
 // subtracks without explicit (cart) vis but are selected, should get inherited vis
-if (vis == tvHide && tdbIsContainerChild(tdb))
+if (tdbIsContainerChild(tdb))
     {
     if (checkBoxToo && fourStateVisible(subtrackFourStateChecked(tdb,cart)))
         vis = tvFull; // to be limited by ancestry
     }
 
 if (vis == tvHide || tdb->parent == NULL || (!foldersToo && tdbIsFolder(tdb->parent)))  // aka superTrack
     return vis; // end of line
 
 return tvMin(vis,tdbVisLimitedByAncestors(cart,tdb->parent,checkBoxToo,foldersToo));
 }
 
 char *compositeViewControlNameFromTdb(struct trackDb *tdb)
 /* Returns a string with the composite view control name if one exists */
 {
 char *stView   = NULL;