5deaf3ab345c88cde2a5252876783c722a7b6497
max
  Thu Nov 14 09:12:56 2024 -0800
applying item name filter to more tracks, refs #33302

diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c
index b55b48b..663774c 100644
--- src/hg/hgTracks/simpleTracks.c
+++ src/hg/hgTracks/simpleTracks.c
@@ -1874,30 +1874,32 @@
         {
 	slAddHead(&oldList, el);
 	}
     }
 slReverse(&newList);
 if (color)
    {
    slReverse(&oldList);
    /* Draw stuff that passes filter first in full mode, last in dense. */
    if (vis == tvDense)
        newList = slCat(oldList, newList);
    else
        newList = slCat(newList, oldList);
    }
 tg->items = newList;
+
+filterItemsOnNames(tg);
 }
 
 int getFilterColor(char *type, int colorIx)
 /* Get color corresponding to type - MG_RED for "red" etc. */
 {
 if (sameString(type, "red"))
     colorIx = MG_RED;
 else if (sameString(type, "green"))
     colorIx = MG_GREEN;
 else if (sameString(type, "blue"))
     colorIx = MG_BLUE;
 return colorIx;
 }
 
 struct track *trackNew()
@@ -6920,32 +6922,30 @@
 char *bigGenePred = trackDbSetting(tdb, "bigGeneDataUrl");
 struct udcFile *file;
 boolean isBigGenePred = FALSE;
 
 if ((bigGenePred != NULL) && ((file = udcFileMayOpen(bigGenePred, udcDefaultDir())) != NULL))
     {
     isBigGenePred = TRUE;
     udcFileClose(&file);
     loadKnownBigGenePred(tg, isGencode);
     }
 else if (!isGencode)
     loadGenePredWithName2(tg);
 else
     loadKnownGencode(tg);
 
-filterItemsOnNames(tg);
-
 char varName[SMALLBUF];
 safef(varName, sizeof(varName), "%s.show.noncoding", tdb->track);
 boolean showNoncoding = cartUsualBoolean(cart, varName, TRUE);
 safef(varName, sizeof(varName), "%s.show.spliceVariants", tdb->track);
 boolean showSpliceVariants = cartUsualBoolean(cart, varName, TRUE);
 if (!showNoncoding)
     tg->items = stripShortLinkedFeatures(tg->items);
 if (!showSpliceVariants)
     {
     if (isBigGenePred)
         {
         tg->items = stripLinkedFeaturesWithoutBitInScore(tg->items,  BIT_CANON);
         }
     else
         {