6b747bba22e0aea0e70dbbc545264ad3ce3d2f9c angie Mon Feb 25 14:35:18 2013 -0800 When freeing annoRows created by internal source, pass in internal source not self. (#6152) diff --git src/lib/annoGrator.c src/lib/annoGrator.c index 66a1770..1c57e00 100644 --- src/lib/annoGrator.c +++ src/lib/annoGrator.c @@ -156,31 +156,31 @@ } static struct annoRow *noNextRow(struct annoStreamer *self) /* nextRow() is N/A for annoGrator, which needs caller to use integrate() instead. */ { errAbort("nextRow() called on annoGrator object, but integrate() should be called instead"); return NULL; } static void agReset(struct annoGrator *self) /* Reset all position associated with state */ { freez(&self->prevPChrom); self->prevPStart = 0; self->eof = FALSE; -annoRowFreeList(&(self->qHead), (struct annoStreamer *)self); +annoRowFreeList(&(self->qHead), self->mySource); self->qTail = NULL; } static boolean filtersHaveRJInclude(struct annoFilter *filters) /* Return TRUE if filters have at least one active filter with !isExclude && rightJoin. */ { struct annoFilter *filter; for (filter = filters; filter != NULL; filter = filter->next) if (filter->op != afNoFilter && !filter->isExclude && filter->rightJoin) return TRUE; return FALSE; } static void agSetFilters(struct annoStreamer *vSelf, struct annoFilter *newFilters) /* Update filters and re-evaluate self->haveRJIncludeFilter */