b4af2f7fbaae0ef4561a937bbc768b2f362f7cd9
angie
  Thu Feb 27 10:59:42 2014 -0800
Fixing a couple bugs uncovered by MLQ #12777: first, the intersectionbutton was appearing even for tables that don't pass canIntersect().
Second, canIntersect() was returning false for VCF instead of true.
So the intersect button appeared for VCF tracks, but the user's
intersection settings were ignored.  Now intersection works for VCF.
refs #12777

diff --git src/hg/hgTables/intersect.c src/hg/hgTables/intersect.c
index 1ee760b..33e39c5 100644
--- src/hg/hgTables/intersect.c
+++ src/hg/hgTables/intersect.c
@@ -25,41 +25,43 @@
 static char *curVars[] = {hgtaIntersectGroup, hgtaIntersectTrack,
 	hgtaIntersectTable,
 	hgtaIntersectOp, hgtaMoreThreshold, hgtaLessThreshold,
 	hgtaInvertTable, hgtaInvertTable2,
 	};
 static char *nextVars[] = {hgtaNextIntersectGroup, hgtaNextIntersectTrack,
 	hgtaNextIntersectTable,
 	hgtaNextIntersectOp, hgtaNextMoreThreshold, hgtaNextLessThreshold,
 	hgtaNextInvertTable, hgtaNextInvertTable2,
 	};
 
 /* This is already duplicated in correlate.c and is handy -- should be
  * libified, probably in cart.h. */
 void removeCartVars(struct cart *cart, char **vars, int varCount);
 
-static boolean canIntersect(char *db, char *table)
+boolean canIntersect(char *db, char *table)
 /* Return true if table exists and is positional. */
 {
 if (isCustomTrack(table) && ctLookupName(table) != NULL)
     return TRUE;
 if (isBamTable(table))
     return TRUE;
 if (isBigWigTable(table))
     return TRUE;
 if (isBigBed(database, table, curTrack, ctLookupName))
     return TRUE;
+if (isVcfTable(table))
+    return TRUE;
 if (isHubTrack(table))
     return TRUE;
 if (sameWord(table, WIKI_TRACK_TABLE))
     return TRUE;
 if (hTableOrSplitExists(db, table))
     return isPositional(db, table);
 return FALSE;
 }
 
 boolean anyIntersection()
 /* Return TRUE if there's an intersection to do. */
 {
 boolean specd = (cartVarExists(cart, hgtaIntersectTrack) &&
 		 cartVarExists(cart, hgtaIntersectTable));
 if (specd && canIntersect(database, curTable))