32d3adcbf1d7b6d589e7213beac07291d2369fa7 braney Mon Oct 7 11:02:29 2019 -0700 require that FilterValues have a value in trackDb diff --git src/hg/lib/hui.c src/hg/lib/hui.c index 7de6451..3259052 100644 --- src/hg/lib/hui.c +++ src/hg/lib/hui.c @@ -3637,33 +3637,36 @@ * <columnName>Filter* or <columnName>.Filter* */ { char *field = cloneString(cartVariable); int ix = strlen(field) - strlen(filterType); assert(ix > 1); field[ix] = '\0'; if (field[ix - 1] == '.') field[ix - 1] = '\0'; return field; } filterBy_t *buildFilterBy(struct trackDb *tdb, struct cart *cart, struct asObject *as, char *filterName, char *name) /* Build a filterBy_t structure from a <column>FilterValues statement. */ { +char *field = extractFieldName(filterName, FILTER_VALUES_NAME); char *setting = trackDbSetting(tdb, filterName); +if (isEmpty(setting)) + errAbort("FilterValues setting of field '%s' must have a value.", field); + char *value = cartUsualStringClosestToHome(cart, tdb, FALSE, filterName, setting); -char *field = extractFieldName(filterName, FILTER_VALUES_NAME); filterBy_t *filterBy; AllocVar(filterBy); filterBy->column = field; filterBy->title = field; /// title should come from AS file, or trackDb variable struct asColumn *asCol = asColumnFind(as, field); if (asCol != NULL) filterBy->title = asCol->comment; else errAbort("Building filter on field %s which is not in AS file.", field); filterBy->useIndex = FALSE; filterBy->slValues = slNameListFromCommaEscaped(value); chopUpValues(filterBy); if (cart != NULL) {