49f31ee05d781083f1a9b7fcff2e99b974622c41 braney Tue Feb 4 09:06:51 2025 -0800 add custom tracks diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index 6bd13520691..a1f856c1ebb 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -6086,32 +6086,32 @@ continue; if (sameString(tdb->type, "downloadsOnly")) // These tracks should not even be seen by hgTracks. continue; track = trackFromTrackDb(tdb); track->hasUi = TRUE; if (slCount(tdb->subtracks) != 0) { tdbSortPrioritiesFromCart(cart, &(tdb->subtracks)); if (trackDbLocalSetting(tdb, "compositeTrack")) makeCompositeTrack(track, tdb); else if (trackDbLocalSetting(tdb, "container")) makeContainerTrack(track, tdb); } else { - handler = lookupTrackHandlerClosestToHome(tdb); - if (handler != NULL) + boolean avoidHandler = trackDbSettingOn(tdb, "avoidHandler"); + if (!avoidHandler && ( handler = lookupTrackHandlerClosestToHome(tdb)) != NULL) handler(track); } if (cgiVarExists("hgGenomeClick")) makeHgGenomeTrackVisible(track); if (track->loadItems == NULL) warn("No load handler for %s; possible missing trackDb `type' or `subTrack' attribute", tdb->track); else if (track->drawItems == NULL) warn("No draw handler for %s", tdb->track); else slAddHead(pTrackList, track); } } int loadFromTrackDb(struct track **pTrackList) /* Load tracks from database, consulting handler list. */