c8c7f5c3d5b590e37dfd321d99b7dd3f1baaa3c1
braney
  Tue Apr 9 13:12:00 2019 -0700
some tweaks to GDC cancer track, bigBed filters, and lollipop manual
ranges

diff --git src/hg/hgTracks/bigBedTrack.c src/hg/hgTracks/bigBedTrack.c
index 460975c..9ccd29a 100644
--- src/hg/hgTracks/bigBedTrack.c
+++ src/hg/hgTracks/bigBedTrack.c
@@ -233,32 +233,36 @@
     switch(filter->comparisonType)
         {
         case COMPARE_WILDCARD:
             if ( !wildMatch(filter->wildCardString, bedRow[filter->fieldNum]))
                 return FALSE;
             break;
         case COMPARE_REGEXP:
             if (regexec(&filter->regEx,bedRow[filter->fieldNum], 0, NULL,0 ) != 0)
                 return FALSE;
             break;
         case COMPARE_HASH_LIST_AND:
         case COMPARE_HASH_LIST_OR:
             {
             struct slName *values = commaSepToSlNames(bedRow[filter->fieldNum]);
             unsigned found = 0;
+            struct hash *seenHash = newHash(3);
             for(; values; values = values->next)
                 {
+                if (hashLookup(seenHash, values->name))
+                    continue;
+                hashStore(seenHash, values->name);
                 if (hashLookup(filter->valueHash, values->name))
                     {
                     found++;
                     if (filter->comparisonType == COMPARE_HASH_LIST_OR) 
                         break;
                     }
                 }
             if (filter->comparisonType == COMPARE_HASH_LIST_AND) 
                 {
                 if (found < filter->numValuesInHash)
                     return FALSE;
                 }
             else if (!found)
                 return FALSE;
             }