14b9ad8df1f99ac5300f52cda10ce8066c9289c6
braney
  Wed Dec 17 12:40:40 2025 -0800
use the bigBed header for the number of bed fields if it is NOT
specified in trackDb, otherwise use the number in the trackDb type.

diff --git src/hg/hgc/bigBedClick.c src/hg/hgc/bigBedClick.c
index 2638b8dd9f9..f167a70a88b 100644
--- src/hg/hgc/bigBedClick.c
+++ src/hg/hgc/bigBedClick.c
@@ -387,31 +387,31 @@
 if (quickLiftFile)
     bbList = quickLiftGetIntervals(quickLiftFile, bbi, chrom, ivStart, ivEnd, &chainHash);
 else
     bbList = bigBedIntervalQuery(bbi, chrom, ivStart, ivEnd, 0, lm);
 
 /* Get bedSize if it's not already defined. */
 if (bedSize != 0) // defined in trackDb
     {
     // check to make sure trackDb number is the same as the number
     // of defined fields
     if (bedSize != bbi->definedFieldCount)
         warn("trackDb for %s has type with %d bed fields but the bigBed file %s has %d bed fields. Fields may be printed with the wrong contents.", tdb->track, bedSize, fileName, bbi->definedFieldCount);
     }
 
 boolean bigBedOnePath = cfgOptionBooleanDefault("bigBedOnePath", FALSE);
-if (bigBedOnePath || (bedSize == 0))
+if (bigBedOnePath && (bedSize == 0))
     bedSize = bbi->definedFieldCount;
 
 char *scoreFilter = cartOrTdbString(cart, tdb, "scoreFilter", NULL);
 int minScore = 0;
 if (scoreFilter)
     minScore = atoi(scoreFilter);
 
 /* Find particular item in list - matching start, and item if possible. */
 boolean found = FALSE;
 boolean firstTime = TRUE;
 struct bigBedInterval *bb;
 for (bb = bbList; bb != NULL; bb = bb->next)
     {
     if (bedSize > 3)
 	{