cc7cbe4be1f3034c493d1a07549b6e4aadea0a5c
kate
  Wed Mar 4 16:35:45 2020 -0800
Fix problem with nonempty track names on hubs when using hideEmptySubtracks. refs #23665

diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index 2a4db5b..50143a6 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -7294,31 +7294,31 @@
 static struct paraFetchData *pfdList = NULL, *pfdRunning = NULL, *pfdDone = NULL, *pfdNeverStarted = NULL;
 
 static void checkHideEmptySubtracks(struct track *tg)
 /* Suppress queries on subtracks w/o data in window (identified from multiIntersect file) */
 {
 if (!tdbIsComposite(tg->tdb))
     return;
 struct hash *nonEmptySubtracksHash = getNonEmptySubtracks(tg);
 if (!nonEmptySubtracksHash)
     return;
 struct track *subtrack;
 for (subtrack = tg->subtracks; subtrack != NULL; subtrack = subtrack->next)
     {
     if (!isSubtrackVisible(subtrack))
         continue;
-    if (!hashLookup(nonEmptySubtracksHash, subtrack->track))
+    if (!hashLookup(nonEmptySubtracksHash, trackHubSkipHubName(subtrack->track)))
         {
         subtrack->loadItems = dontLoadItems;
         subtrack->limitedVis = tvHide;
         subtrack->limitedVisSet = TRUE;
         }
     }
 }
 
 static void *remoteParallelLoad(void *threadParam)
 /* Each thread loads tracks in parallel until all work is done. */
 {
 pthread_t *pthread = threadParam;
 struct paraFetchData *pfd = NULL;
 pthread_detach(*pthread);  // this thread will never join back with it's progenitor
     // Canceled threads that might leave locks behind,