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 */