a7ab24571507f19cc40e4ef65800401b43000a0f
braney
  Mon Dec 6 13:16:27 2021 -0800
support itemRgb for bigPsl, remove overload of lf->extra field for
USE_ITEM_RGB and replace it with a reasonably named field in lf
(useItemRbg)

diff --git src/hg/hgTracks/bedTrack.c src/hg/hgTracks/bedTrack.c
index 8058431..36014f0 100644
--- src/hg/hgTracks/bedTrack.c
+++ src/hg/hgTracks/bedTrack.c
@@ -211,31 +211,31 @@
      (bed->thickEnd > bed->chromEnd)))
     bed->thickEnd = bed->chromEnd;
 }
 
 struct linkedFeatures *bedMungToLinkedFeatures(struct bed **pBed, struct trackDb *tdb,
 	int fieldCount, int scoreMin, int scoreMax, boolean useItemRgb)
 /* Convert bed to a linkedFeature, destroying bed in the process. */
 {
 struct bed *bed = *pBed;
 if (fieldCount < 12)
     bed8To12(bed);
 adjustBedScoreGrayLevel(tdb, bed, scoreMin, scoreMax);
 struct linkedFeatures *lf = lfFromBedExtra(bed, scoreMin, scoreMax);
 if (useItemRgb)
     {
-    lf->extra = (void *)USE_ITEM_RGB;       /* signal for coloring */
+    lf->useItemRgb = TRUE;
     lf->filterColor=bed->itemRgb;
     }
 bedFree(pBed);
 return lf;
 }
 
 void loadBed9(struct track *tg)
 /* Convert bed 9 info in window to linked feature.  (to handle itemRgb)*/
 {
 struct trackDb *tdb = tg->tdb;
 struct bed *bed;
 struct linkedFeatures *lfList = NULL, *lf;
 int scoreMin = atoi(trackDbSettingClosestToHomeOrDefault(tdb, "scoreMin", "0"));
 int scoreMax = atoi(trackDbSettingClosestToHomeOrDefault(tdb, "scoreMax", "1000"));
 boolean useItemRgb = FALSE;
@@ -513,31 +513,31 @@
 	{
 	sr = hRangeQuery(conn, tg->table, chromName, winStart, winEnd,scoreFilterClause, &rowOffset);
 	freeMem(scoreFilterClause);
 	}
     else
 	{
 	sr = hRangeQuery(conn, tg->table, chromName, winStart, winEnd, NULL, &rowOffset);
 	}
     while ((row = sqlNextRow(sr)) != NULL)
 	{
 	bed = bedLoad12(row+rowOffset);
 	adjustBedScoreGrayLevel(tdb, bed, scoreMin, scoreMax);
 	lf = lfFromBedExtra(bed, scoreMin, scoreMax);
 	if (useItemRgb)
 	    {
-	    lf->extra = (void *)USE_ITEM_RGB;       /* signal for coloring */
+            lf->useItemRgb = TRUE;
 	    lf->filterColor=bed->itemRgb;
 	    }
 	slAddHead(&lfList, lf);
 	bedFree(&bed);
 	}
     sqlFreeResult(&sr);
     hFreeConn(&conn);
     }
 slReverse(&lfList);
 if(tg->extraUiData)
     filterBed(tg, &lfList);
 slSort(&lfList, linkedFeaturesCmp);
 tg->items = lfList;
 }