397351b825b3ea9a7fb6ac7a2f64359166c9ba32 chmalee Thu Mar 5 12:25:51 2026 -0800 Oops forgot the usual trackHubDatabase check, refs #36535 diff --git src/hg/lib/web.c src/hg/lib/web.c index 1bcd7dcd2c1..318bb03f31b 100644 --- src/hg/lib/web.c +++ src/hg/lib/web.c @@ -1798,31 +1798,31 @@ if (db && cgiOptionalString("db")) { struct dbDb *dbInfo = hDbDb(db); if (dbInfo) { char *bareDb = jsonStringEscape(trackHubSkipHubName(db)); char *safeOrganism = jsonStringEscape(trackHubSkipHubName(dbInfo->organism)); char *safeDescription = jsonStringEscape(trackHubSkipHubName(dbInfo->description)); struct dyString *jsCall = dyStringNew(512); dyStringPrintf(jsCall, "addRecentGenome({db:'%s', genome:'%s', label:'%s - %s (%s)', commonName:'%s'", bareDb, bareDb, safeOrganism, safeDescription, bareDb, safeOrganism); if (dbInfo->taxId > 0) dyStringPrintf(jsCall, ", taxId:%d", dbInfo->taxId); // For hub/GenArk assemblies, include hubUrl and category so hgGateway can route correctly - struct trackHubGenome *hubGenome = trackHubGetGenome(db); + struct trackHubGenome *hubGenome = trackHubDatabase(db) ? trackHubGetGenome(db) : NULL; if (hubGenome && hubGenome->trackHub) { char *safeHubUrl = jsonStringEscape(hubGenome->trackHub->url); dyStringPrintf(jsCall, ", hubUrl:'%s'", safeHubUrl); if (startsWith("/gbdb", hubGenome->trackHub->url)) dyStringAppend(jsCall, ", category:'UCSC Curated'"); else dyStringAppend(jsCall, ", category:'Assembly Hub'"); } else dyStringAppend(jsCall, ", category:'UCSC Curated'"); dyStringAppend(jsCall, "});\n"); jsInline(dyStringContents(jsCall)); dyStringFree(&jsCall); }