470118f67c83cf4ae379c805fe29c3f1d7146790
braney
  Thu Feb 27 14:55:15 2020 -0800
don't add hidden collection multiwigs to list of tracks to display refs #25050

diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index 2a4db5b..a5ecf68 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -4845,62 +4845,62 @@
     {
     orderedWiggles = slNameListFromString(wigOrder, ' ');
     struct slName *name = orderedWiggles;
     // if we're sorting, remove existing sort order for this composite
     for(; name; name = name->next)
         {
         char buffer[1024];
         safef(buffer, sizeof buffer,  "%s_imgOrd", name->name);
         cartRemove(cart, buffer);
         }
     }
 
 // Construct flatTracks
 for (track = trackList; track != NULL; track = track->next)
     {
+    if (isLimitedVisHiddenForAllWindows(track))
+        continue;
+
     if (tdbIsComposite(track->tdb))
         {
         struct track *subtrack;
         if (isCompositeInAggregate(track))
             flatTracksAdd(&flatTracks, track, cart, orderedWiggles);
         else
             {
             boolean doHideEmpties = doHideEmptySubtracksNoMultiBed(cart, track);
                 // If multibed was found, it has been used to suppress loading,
                 // and subtracks lacking items in window are already set hidden
             for (subtrack = track->subtracks; subtrack != NULL; subtrack = subtrack->next)
                 {
                 if (!isSubtrackVisible(subtrack))
                     continue;
 
                 if (!isLimitedVisHiddenForAllWindows(subtrack) && 
                         !(doHideEmpties && slCount(subtrack->items) == 0))
                         // Ignore subtracks with no items in window
                     {
                     flatTracksAdd(&flatTracks,subtrack,cart, orderedWiggles);
                     }
                 }
             }
         }
     else
 	{	
-	if (!isLimitedVisHiddenForAllWindows(track))
-	    {
         flatTracksAdd(&flatTracks,track,cart, orderedWiggles);
 	}
     }
-    }
 flatTracksSort(&flatTracks); // Now we should have a perfectly good flat track list!
 
 if (orderedWiggles)
     {
     // save order to cart
     struct flatTracks *ft;
     char buffer[4096];
     int count = 1;
     for(ft = flatTracks; ft; ft = ft->next)
         {
         safef(buffer, sizeof buffer, "%s_imgOrd", ft->track->track);
         cartSetInt(cart, buffer, count++);
         }
     }