0e6683b64347327fb1aad3263b24dfc55f4ed141
braney
  Wed Aug 6 15:23:19 2014 -0700
in hgTables, don't look for bigDataUrl in composite headers regardlessof their type #13769

diff --git src/hg/hgTables/hgTables.c src/hg/hgTables/hgTables.c
index becef50..f41d202 100644
--- src/hg/hgTables/hgTables.c
+++ src/hg/hgTables/hgTables.c
@@ -634,37 +634,40 @@
 }
 
 void checkTableExists(struct sqlConnection *conn, char *table)
 /* Check that table exists, or put up an error message. */
 {
 char *splitTable = chromTable(conn, table);
 if (!sqlTableExists(conn, table))
     errAbort("Table %s doesn't exist", table);
 freeMem(splitTable);
 }
 
 struct hTableInfo *hubTrackTableInfo(struct trackDb *tdb)
 /* Given trackDb entry for a hub track, wrap table info around it. */
 {
 struct hTableInfo *hti;
+if (tdb->subtracks == NULL)
+    {
     if (startsWithWord("bigBed", tdb->type))
 	hti = bigBedToHti(tdb->track, NULL);
     else if (startsWithWord("bam", tdb->type))
 	hti = bamToHti(tdb->table);
     else if (startsWithWord("vcfTabix", tdb->type))
 	hti = vcfToHti(tdb->table, TRUE);
-else
+    }
+if (hti == NULL)
     {
     AllocVar(hti);
     hti->rootName = cloneString(tdb->track);
     hti->isPos = TRUE;
     hti->type = cloneString(tdb->type);
     }
 return hti;
 }
 
 struct hTableInfo *maybeGetHti(char *db, char *table, struct sqlConnection *conn)
 /* Return primary table info, but don't abort if table not there. Conn should be open to db. */
 {
 struct hTableInfo *hti = NULL;
 boolean isTabix = FALSE;