c2f1001f2ab451206060861ed977f5d0c12726c1
braney
  Fri Jan 6 14:55:51 2017 -0800
yet more attempt to squash bug from #18544

diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index 094a9e4..a7b1ebe 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -7930,30 +7930,34 @@
 // Fills optional boolean if subtrack specific vis is found
 // If not NULL cart will be examined without ClosestToHome.
 // Folders/supertracks resolve to hide/full
 {
 if (subtrackOverride != NULL)
     *subtrackOverride = FALSE; // default
 
 // tdb->visibility should reflect local trackDb setting
 enum trackVisibility vis = tdb->visibility;
 if (tdbIsSuperTrack(tdb))
     vis = (tdb->isShow ? tvFull : tvHide);
 
 if (cart != NULL) // cart is optional
     {
     char *cartVis = cartOptionalString(cart, tdb->track);
+    // check hub tracks for visibility settings without the hub prefix
+    if (startsWith("hub_", tdb->track) && (cartVis == NULL))
+        cartVis = cartOptionalString(cart, trackHubSkipHubName(tdb->track));
+
     if (cartVis != NULL)
         {
         vis = hTvFromString(cartVis);
         if (subtrackOverride != NULL && tdbIsContainerChild(tdb))
             *subtrackOverride = TRUE;
         }
     }
 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