84440373a2ad67b39c36c614687807bda9a423b2
tdreszer
  Wed Sep 29 11:12:37 2010 -0700
Added definition of multiTrack and changed container to be either multiTrack or Composite.  This allows multiTracks (such as multiWigs) to behave as composites in some code paths.
diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index 52c9599..f68887d 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -1592,7 +1592,7 @@
 struct trackDb *tdb = subtrack->tdb;
 if(tdbIsCompositeChild(tdb))
     {
-    struct trackDb *parentTdb = trackDbCompositeParent(tdb);
+    struct trackDb *parentTdb = tdbGetComposite(tdb);
     assert(parentTdb != NULL);
 
     char *viewName = NULL;
@@ -2223,7 +2223,7 @@
             {
             if(tdbIsCompositeChild(track->tdb))
                 {
-                struct trackDb *parent = trackDbCompositeParent(track->tdb);
+                struct trackDb *parent = tdbGetComposite(track->tdb);
                 mapBoxTrackUi(hvgSide, trackTabX, yStart, trackTabWidth, (yEnd - yStart - 1),
                     parent->track, parent->shortLabel, track->track);
                 }
@@ -4267,6 +4267,10 @@
 struct track *track = trackList;
 for (;track != NULL; track = track->next)
     {
+    if (tdbIsMultiTrack(track->tdb))
+        if(cartTdbTreeMatchSubtrackVis(cart,track->tdb)) // Note, this is done for found multi-track kids but composites are only straightened up in hgTrackUi
+            track->visibility = tdbVisLimitedByAncestry(cart,track->tdb,FALSE);
+
     if (cartTdbTreeCleanupOverrides(track->tdb,newCart,oldVars))
         { // Need to update track visibility
         if (tdbIsSuperTrackChild(track->tdb))