e0b7a6700dfca47e0723d2d5a2e5b3c745f51315
jcasper
  Tue Feb 28 12:38:00 2023 -0800
Fixing a few missed cases for transparency, refs #30569

diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c
index 6d317b6..ea33a08 100644
--- src/hg/hgTracks/simpleTracks.c
+++ src/hg/hgTracks/simpleTracks.c
@@ -3574,30 +3574,31 @@
        hvGfxLine(hvg, x1, y, x2, y, color);
    }
 }
 
 static void lfColors(struct track *tg, struct linkedFeatures *lf,
         struct hvGfx *hvg, Color *retColor, Color *retBarbColor)
 /* Figure out color to draw linked feature in. */
 {
 if (!((lf->isBigGenePred) ||(lf->filterColor == 0)|| (lf->filterColor == -1)))
     {
     if (lf->useItemRgb)
 	{
         *retColor = *retBarbColor = bedColorToGfxColor(lf->filterColor);
 	}
     else
+        // When does this case happen?  Why isn't this color also being parsed like above?
 	*retColor = *retBarbColor = lf->filterColor;
     }
 else if (tg->itemColor)
     {
     *retColor = tg->itemColor(tg, lf, hvg);
     *retBarbColor = tg->ixAltColor;
     }
 else if (tg->colorShades)
     {
     boolean isXeno = (tg->subType == lfSubXeno)
                                 || (tg->subType == lfSubChain)
                                 || startsWith("mrnaBla", tg->table);
     *retColor =  tg->colorShades[lf->grayIx+isXeno];
     *retBarbColor =  tg->colorShades[lf->grayIx];
     }
@@ -7608,37 +7609,39 @@
 else
     sqlSafef(query, sizeof query, "select status from %s where mrnaAcc = '%s'",
         refSeqStatusTable, name);
 sr = sqlGetResult(conn, query);
 if ((row = sqlNextRow(sr)) != NULL)
     {
     if (startsWith("Reviewed", row[0]) || startsWith("Validated", row[0]))
         {
         /* Use the usual color */
         }
     else if (startsWith("Provisional", row[0]))
         {
         lighter.r = (6*normal->r + 4*255) / 10;
         lighter.g = (6*normal->g + 4*255) / 10;
         lighter.b = (6*normal->b + 4*255) / 10;
+        lighter.a = normal->a;
         col = hvGfxFindRgb(hvg, &lighter);
         }
     else
         {
         lightest.r = (1*normal->r + 2*255) / 3;
         lightest.g = (1*normal->g + 2*255) / 3;
         lightest.b = (1*normal->b + 2*255) / 3;
+        lightest.a = normal->a;
         col = hvGfxFindRgb(hvg, &lightest);
         }
     }
 sqlFreeResult(&sr);
 hFreeConn(&conn);
 return col;
 }
 
 Color refGeneColor(struct track *tg, void *item, struct hvGfx *hvg)
 /* Return color to draw refseq gene in. */
 {
 struct linkedFeatures *lf = item;
 
 /* allow itemAttr to override coloring */
 if (lf->itemAttr != NULL)