08eae47c7d2c37e18578b9c8f1c7569013041400 braney Sun Oct 9 11:08:25 2011 -0700 don't reopen the trackHub since it's already in the hubStatus diff --git src/hg/hgTables/hgTables.c src/hg/hgTables/hgTables.c index 5838b76..1084e69 100644 --- src/hg/hgTables/hgTables.c +++ src/hg/hgTables/hgTables.c @@ -261,49 +261,54 @@ else slAddHead(&newList, tdb); } slReverse(&newList); list = newList; /* add wikiTrack if enabled */ if (wikiTrackEnabled(database, NULL)) wikiTrackDb(&list); /* Add hub tracks. */ struct hubConnectStatus *hubStatus; for (hubStatus = hubList; hubStatus != NULL; hubStatus = hubStatus->next) { /* Load trackDb.ra file and make it into proper trackDb tree */ - char hubName[8]; + char hubName[64]; safef(hubName, sizeof(hubName), "hub_%d", hubStatus->id); - struct trackHub *hub = trackHubOpen(hubStatus->hubUrl, hubName); + + struct trackHub *hub = hubStatus->trackHub; if (hub != NULL) { + hub->name = cloneString(hubName); struct trackHubGenome *hubGenome = trackHubFindGenome(hub, database); if (hubGenome != NULL) { struct trackDb *tdbList = trackHubTracksForGenome(hub, hubGenome); tdbList = trackDbLinkUpGenerations(tdbList); tdbList = trackDbPolishAfterLinkup(tdbList, database); trackDbPrioritizeContainerItems(tdbList); if (tdbList != NULL) { list = slCat(list, tdbList); struct grp *grp = grpFromHub(hubStatus); slAddHead(pHubGroups, grp); } } + + // clear this so it isn't free'd later + hubStatus->trackHub = NULL; } } slReverse(pHubGroups); /* Create dummy group for custom tracks if any */ ctList = getCustomTracks(); for (ct = ctList; ct != NULL; ct = ct->next) { slAddHead(&list, ct->tdb); } return list; } boolean fullGenomeRegion()