ca95e568373e1398822741d9c4d4a162f167c7be
braney
  Fri Sep 4 13:24:21 2015 -0700
Another pass at #6551.   Put default visibilities in the cart at session
save.   On session load hide any tracks that are default visibile, but
aren't mentioned in the cart.

diff --git src/hg/inc/cart.h src/hg/inc/cart.h
index d1f5ee8..9fece3c 100644
--- src/hg/inc/cart.h
+++ src/hg/inc/cart.h
@@ -570,17 +570,24 @@
 
 void cgiExitTime(char *cgiName, long enteredMainTime);
 /* single stderr print out called at end of CGI binaries to record run
  * time in apache error_log */
 
 void cartHubWarn(char *format, va_list args);
 /* save up hub related warnings to put out later */
 
 void cartFlushHubWarnings();
 /* flush the hub errors (if any) */
 
 void cartCheckForCustomTracks(struct cart *cart, struct dyString *dyMessage);
 /* Scan cart for ctfile_<db> variables.  Tally up the databases that have
  * live custom tracks and those that have expired custom tracks. */
 /* While we're at it, also look for saved blat results. */
+
+#define CART_HAS_DEFAULT_VISIBILITY "defaultsSet"
+
+extern void cartHideDefaultTracks(struct cart *cart);
+/* Hide all the tracks who have default visibilities in trackDb
+ * that are something other than hide.  Do this only if the
+ * variable CART_HAS_DEFAULT_VISIBILITY is set in the cart.  */
 #endif /* CART_H */