6ff14cbe503f6d3b20d61308887dc91a692ec507 braney Wed May 28 09:21:47 2025 -0700 fix some problems with quickLift reported by QA refs #35609 diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c index 285223b28a8..94ff2089302 100644 --- src/hg/hgTracks/simpleTracks.c +++ src/hg/hgTracks/simpleTracks.c @@ -12712,31 +12712,33 @@ } Color genePredItemClassColor(struct track *tg, void *item, struct hvGfx *hvg) /* Return color to draw a genePred based on looking up the gene class */ /* in an itemClass table. */ { char *geneClasses = trackDbSetting(tg->tdb, GENEPRED_CLASS_VAR); char *gClassesClone = NULL; int class, classCt = 0; char *classes[20]; char gClass[SMALLBUF]; char *classTable = trackDbSetting(tg->tdb, GENEPRED_CLASS_TBL); char *nameCol = trackDbSettingOrDefault(tg->tdb, GENEPRED_CLASS_NAME_COLUMN, GENEPRED_CLASS_NAME_COLUMN_DEFAULT); char *classCol = trackDbSettingOrDefault(tg->tdb, GENEPRED_CLASS_CLASS_COLUMN, GENEPRED_CLASS_CLASS_COLUMN_DEFAULT); struct linkedFeatures *lf = item; -struct sqlConnection *conn = hAllocConn(database); +char *liftDb = cloneString(trackDbSetting(tg->tdb, "quickLiftDb")); +char *db = (liftDb == NULL) ? database : liftDb; +struct sqlConnection *conn = hAllocConn(db); struct sqlResult *sr; char **row = NULL; char query[256]; boolean found = FALSE; char *colorString = NULL, *colorClone = NULL; struct rgbColor gClassColor; int color = tg->ixColor; /* default color in trackDb */ int size = 3; char *rgbVals[5]; char *sep = ","; if (geneClasses == NULL) errAbort( "Track %s missing required trackDb setting: geneClasses", tg->track); if (geneClasses) @@ -15317,31 +15319,31 @@ from black, to the specified color */ deltaR = (finalR - altR) / altColors; deltaG = (finalG - altG) / altColors; deltaB = (finalB - altB) / altColors; // speculative - no harm, but there's no current way for a track to set its alpha, // so both final and altA should be 255 deltaA = (finalA - altA) / altColors; } /* fill in subtracks of composite track */ for (tdbRef = tdbRefList; tdbRef != NULL; tdbRef = tdbRef->next) { subTdb = tdbRef->val; subtrack = trackFromTrackDb(subTdb); - boolean avoidHandler = FALSE;// trackDbSettingOn(tdb, "avoidHandler"); + boolean avoidHandler = trackDbSettingOn(tdb, "avoidHandler"); if (!avoidHandler && ( handler = lookupTrackHandlerClosestToHome(subTdb)) != NULL) handler(subtrack); /* Add subtrack settings (table, colors, labels, vis & pri). This is only * needed in the "not noInherit" case that hopefully will go away soon. */ subtrack->track = subTdb->track; subtrack->table = subTdb->table; subtrack->shortLabel = subTdb->shortLabel; subtrack->longLabel = subTdb->longLabel; subtrack->priority = subTdb->priority; subtrack->parent = track; /* Add color gradient. */ if (finalR || finalG || finalB) {