4a55fd262783e01281b132efad717b84575879cf
braney
  Sat Nov 18 14:36:34 2017 -0800
oops, left this out

diff --git src/hg/inc/cart.h src/hg/inc/cart.h
index b86c524..0dfdd03 100644
--- src/hg/inc/cart.h
+++ src/hg/inc/cart.h
@@ -566,30 +566,33 @@
                             boolean ignoreRemoved,boolean ignoreCreated);
 /* Returns TRUE if new cart setting has changed from old cart setting */
 
 int cartRemoveFromTdbTree(struct cart *cart,struct trackDb *tdb,char *suffix,boolean skipParent);
 /* Removes a 'trackName.suffix' from all tdb descendents (but not parent).
    If suffix NULL then removes 'trackName' which holds visibility */
 
 boolean cartTdbTreeReshapeIfNeeded(struct cart *cart,struct trackDb *tdbComposite);
 /* When subtrack vis is set via findTracks, and composite has no cart settings,
    then fashion composite to match found */
 
 boolean cartTdbTreeCleanupOverrides(struct trackDb *tdb,struct cart *newCart,struct hash *oldVars, struct lm *lm);
 /* When composite/view settings changes, remove subtrack specific settings
    Returns TRUE if any cart vars are removed */
 
+void cartCopyCustomComposites(struct cart *cart);
+/* Find any custom composite hubs and copy them so they can be modified. */
+
 void cartCopyCustomTracks(struct cart *cart);
 /* If cart contains any live custom tracks, save off a new copy of them,
  * to prevent clashes by multiple uses of the same session.  */
 
 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);