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;